Search in sources :

Example 1 with Generate

use of org.quicktheories.generators.Generate in project cassandra by apache.

the class CassandraGenerators method partitionKeyDataGen.

public static Gen<ByteBuffer> partitionKeyDataGen(TableMetadata metadata) {
    ImmutableList<ColumnMetadata> columns = metadata.partitionKeyColumns();
    assert !columns.isEmpty() : "Unable to find partition key columns";
    if (columns.size() == 1)
        return getTypeSupport(columns.get(0).type).bytesGen();
    List<Gen<ByteBuffer>> columnGens = new ArrayList<>(columns.size());
    for (ColumnMetadata cm : columns) columnGens.add(getTypeSupport(cm.type).bytesGen());
    return rnd -> {
        ByteBuffer[] buffers = new ByteBuffer[columnGens.size()];
        for (int i = 0; i < columnGens.size(); i++) buffers[i] = columnGens.get(i).generate(rnd);
        return CompositeType.build(ByteBufferAccessor.instance, buffers);
    };
}
Also used : LocalPartitioner(org.apache.cassandra.dht.LocalPartitioner) SourceDSL(org.quicktheories.generators.SourceDSL) AbstractType(org.apache.cassandra.db.marshal.AbstractType) ByteBuffer(java.nio.ByteBuffer) ByteOrderedPartitioner(org.apache.cassandra.dht.ByteOrderedPartitioner) InetAddress(java.net.InetAddress) ConnectionType(org.apache.cassandra.net.ConnectionType) Gen(org.quicktheories.core.Gen) Matcher(java.util.regex.Matcher) TimeUUIDType(org.apache.cassandra.db.marshal.TimeUUIDType) Murmur3Partitioner(org.apache.cassandra.dht.Murmur3Partitioner) NoPayload(org.apache.cassandra.net.NoPayload) PingRequest(org.apache.cassandra.net.PingRequest) SinglePartitionReadCommand(org.apache.cassandra.db.SinglePartitionReadCommand) CompositeType(org.apache.cassandra.db.marshal.CompositeType) TableParams(org.apache.cassandra.schema.TableParams) MultilineRecursiveToStringStyle(org.apache.commons.lang3.builder.MultilineRecursiveToStringStyle) AbstractTypeGenerators.allowReversed(org.apache.cassandra.utils.AbstractTypeGenerators.allowReversed) Generate(org.quicktheories.generators.Generate) Set(java.util.Set) Verb(org.apache.cassandra.net.Verb) List(java.util.List) Stream(java.util.stream.Stream) SMALL_TIME_SPAN_NANOS(org.apache.cassandra.utils.Generators.SMALL_TIME_SPAN_NANOS) ColumnIdentifier(org.apache.cassandra.cql3.ColumnIdentifier) RandomnessSource(org.quicktheories.core.RandomnessSource) Modifier(java.lang.reflect.Modifier) TableMetadata(org.apache.cassandra.schema.TableMetadata) Pattern(java.util.regex.Pattern) SchemaCQLHelper(org.apache.cassandra.db.SchemaCQLHelper) InetAddressAndPort(org.apache.cassandra.locator.InetAddressAndPort) ColumnMetadata(org.apache.cassandra.schema.ColumnMetadata) TableId(org.apache.cassandra.schema.TableId) FieldIdentifier(org.apache.cassandra.cql3.FieldIdentifier) ReadCommand(org.apache.cassandra.db.ReadCommand) Message(org.apache.cassandra.net.Message) IDENTIFIER_GEN(org.apache.cassandra.utils.Generators.IDENTIFIER_GEN) ArrayList(java.util.ArrayList) RandomPartitioner(org.apache.cassandra.dht.RandomPartitioner) HashSet(java.util.HashSet) Token(org.apache.cassandra.dht.Token) ImmutableList(com.google.common.collect.ImmutableList) ByteBufferAccessor(org.apache.cassandra.db.marshal.ByteBufferAccessor) EmptyType(org.apache.cassandra.db.marshal.EmptyType) OrderPreservingPartitioner(org.apache.cassandra.dht.OrderPreservingPartitioner) ReflectionToStringBuilder(org.apache.commons.lang3.builder.ReflectionToStringBuilder) AbstractTypeGenerators.getTypeSupport(org.apache.cassandra.utils.AbstractTypeGenerators.getTypeSupport) TIMESTAMP_NANOS(org.apache.cassandra.utils.Generators.TIMESTAMP_NANOS) Slices(org.apache.cassandra.db.Slices) Constraint(org.quicktheories.impl.Constraint) IPartitioner(org.apache.cassandra.dht.IPartitioner) TINY_TIME_SPAN_NANOS(org.apache.cassandra.utils.Generators.TINY_TIME_SPAN_NANOS) Gen(org.quicktheories.core.Gen) ColumnMetadata(org.apache.cassandra.schema.ColumnMetadata) ArrayList(java.util.ArrayList)

Aggregations

ImmutableList (com.google.common.collect.ImmutableList)1 Modifier (java.lang.reflect.Modifier)1 InetAddress (java.net.InetAddress)1 ByteBuffer (java.nio.ByteBuffer)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 Matcher (java.util.regex.Matcher)1 Pattern (java.util.regex.Pattern)1 Stream (java.util.stream.Stream)1 ColumnIdentifier (org.apache.cassandra.cql3.ColumnIdentifier)1 FieldIdentifier (org.apache.cassandra.cql3.FieldIdentifier)1 ReadCommand (org.apache.cassandra.db.ReadCommand)1 SchemaCQLHelper (org.apache.cassandra.db.SchemaCQLHelper)1 SinglePartitionReadCommand (org.apache.cassandra.db.SinglePartitionReadCommand)1 Slices (org.apache.cassandra.db.Slices)1 AbstractType (org.apache.cassandra.db.marshal.AbstractType)1 ByteBufferAccessor (org.apache.cassandra.db.marshal.ByteBufferAccessor)1 CompositeType (org.apache.cassandra.db.marshal.CompositeType)1