use of org.quicktheories.core.Gen in project cassandra by apache.
the class WarningsSnapshotTest method counter.
private static Gen<Counter> counter() {
Gen<Boolean> empty = SourceDSL.booleans().all();
Constraint maxValue = Constraint.between(1, Long.MAX_VALUE);
Gen<ImmutableSet<InetAddressAndPort>> instances = SourceDSL.arbitrary().pick(ImmutableSet.of(HOME), ImmutableSet.of(VACATION_HOME), ImmutableSet.of(HOME, VACATION_HOME));
Gen<Counter> gen = rs -> empty.generate(rs) ? Counter.empty() : new Counter(instances.generate(rs), rs.next(maxValue));
return gen.describedAs(Counter::toString);
}
use of org.quicktheories.core.Gen 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);
};
}
use of org.quicktheories.core.Gen in project cassandra by apache.
the class Generators method charArray.
public static Gen<char[]> charArray(Gen<Integer> sizes, char[] domain) {
Constraint constraints = Constraint.between(0, domain.length - 1).withNoShrinkPoint();
Gen<char[]> gen = td -> {
int size = sizes.generate(td);
char[] is = new char[size];
for (int i = 0; i != size; i++) {
int idx = (int) td.next(constraints);
is[i] = domain[idx];
}
return is;
};
gen.describedAs(String::new);
return gen;
}
use of org.quicktheories.core.Gen in project cassandra by apache.
the class JMXToolTest method serde.
private void serde(JMXTool.Dump.Format serializer, JMXTool.Diff.Format deserializer) {
DataOutputBuffer buffer = new DataOutputBuffer();
qt().withShrinkCycles(0).forAll(gen()).checkAssert(orFail(map -> serde(serializer, deserializer, buffer, map)));
}
Aggregations