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);
};
}
Aggregations