public static int randomIntInRange(int inclusiveMinimum, int inclusiveMaximum) { return randomInt(inclusiveMaximum - inclusiveMinimum + 1) + inclusiveMinimum; }
/** * Get a random item of the collection. Effectively process {@link RandomAccess} enablied {@link List} collections. * For other types of collections converts i to an array which might require further optimization. * * @param source collection * * @return random item. null if the collection is empty. */ public static <T> T sample(Collection source) { int size = source.size(); if (size <= 0) return null; int i = Do.randomInt(size); if (source instanceof List && source instanceof RandomAccess) return (T) ((List) source).get(i); else return (T) source.toArray()[i]; }
@Test public void randomInt() throws Exception { double sum = 0; int repetitions = 20000; int min = 10000, max = -1000; for(int i=0; i < repetitions; i++ ) { int x = Do.randomInt(100); sum += x; if( x < min ) min = x; if( x > max ) max = x; } sum /= repetitions; assertThat( sum, is(closeTo(50, 0.9))); assertThat(min, is(lessThan(20))); assertThat(max, is(greaterThan(80))); }
@Test public void encode() { for(int i=0; i<100;i++) { byte [] src = Do.randomBytes(256+Do.randomInt(1024)); assertArrayEquals(src, Safe58.decode(Safe58.encode(src))); } }
payloadtring = "test data set with rnd: " + Do.randomInt(10000); d1.send(node2, payloadtring.getBytes()); payloadtring = "test data set with rnd: " + Do.randomInt(10000); d2.send(node1, payloadtring.getBytes()); payloadtring = "test data set with rnd: " + Do.randomInt(10000); d1.send(node2, payloadtring.getBytes());
}); Contract c = contractsToJoin.remove(Do.randomInt(contractsToJoin.size())); Contract main = c.createRevision(issuerKey); main.getStateData().set("amount","400");