@Test void testSamplingUpperBoundary() { long upperBound = Long.MAX_VALUE / 2; final Id transactionId = Id.new128BitId(); transactionId.fromLongs((long) 0, upperBound - 1); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isTrue(); transactionId.fromLongs((long) 0, upperBound); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isTrue(); transactionId.fromLongs((long) 0, upperBound + 1); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isFalse(); }
@Test void testSamplingLowerBoundary() { long lowerBound = -Long.MAX_VALUE / 2; final Id transactionId = Id.new128BitId(); transactionId.fromLongs((long) 0, lowerBound + 1); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isTrue(); transactionId.fromLongs((long) 0, lowerBound); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isTrue(); transactionId.fromLongs((long) 0, lowerBound - 1); assertThat(ProbabilitySampler.of(0.5).isSampled(transactionId)).isFalse(); }
@Test void testFromAndToLong() { final Id id = Id.new128BitId(); id.fromLongs(21, 42); assertThat(id.isEmpty()).isFalse(); assertThat(id.readLong(0)).isEqualTo(21); assertThat(id.readLong(8)).isEqualTo(42); } }
@Test void testInitEmpty() { final Id id = Id.new64BitId(); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); id.fromHexString("0000000000000000", 0); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); id.fromLongs(0); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); }