SortedRangeSet complement = sortedRangeSet.complement();
@Test public void testEmptySet() { SortedRangeSet rangeSet = SortedRangeSet.none(BIGINT); assertEquals(rangeSet.getType(), BIGINT); assertTrue(rangeSet.isNone()); assertFalse(rangeSet.isAll()); assertFalse(rangeSet.isSingleValue()); assertTrue(Iterables.isEmpty(rangeSet.getOrderedRanges())); assertEquals(rangeSet.getRangeCount(), 0); assertEquals(rangeSet.complement(), SortedRangeSet.all(BIGINT)); assertFalse(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT))); assertFalse(rangeSet.includesMarker(Marker.exactly(BIGINT, 0L))); assertFalse(rangeSet.includesMarker(Marker.upperUnbounded(BIGINT))); }
@Test public void testEntireSet() { SortedRangeSet rangeSet = SortedRangeSet.all(BIGINT); assertEquals(rangeSet.getType(), BIGINT); assertFalse(rangeSet.isNone()); assertTrue(rangeSet.isAll()); assertFalse(rangeSet.isSingleValue()); assertEquals(rangeSet.getRangeCount(), 1); assertEquals(rangeSet.complement(), SortedRangeSet.none(BIGINT)); assertTrue(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT))); assertTrue(rangeSet.includesMarker(Marker.exactly(BIGINT, 0L))); assertTrue(rangeSet.includesMarker(Marker.upperUnbounded(BIGINT))); }
@Test public void testSingleValue() { SortedRangeSet rangeSet = SortedRangeSet.of(BIGINT, 10L); SortedRangeSet complement = SortedRangeSet.of(Range.greaterThan(BIGINT, 10L), Range.lessThan(BIGINT, 10L)); assertEquals(rangeSet.getType(), BIGINT); assertFalse(rangeSet.isNone()); assertFalse(rangeSet.isAll()); assertTrue(rangeSet.isSingleValue()); assertTrue(Iterables.elementsEqual(rangeSet.getOrderedRanges(), ImmutableList.of(Range.equal(BIGINT, 10L)))); assertEquals(rangeSet.getRangeCount(), 1); assertEquals(rangeSet.complement(), complement); assertFalse(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT))); assertTrue(rangeSet.includesMarker(Marker.exactly(BIGINT, 10L))); assertFalse(rangeSet.includesMarker(Marker.exactly(BIGINT, 9L))); assertFalse(rangeSet.includesMarker(Marker.upperUnbounded(BIGINT))); }
assertEquals(rangeSet, SortedRangeSet.copyOf(BIGINT, normalizedResult)); assertEquals(rangeSet.getRangeCount(), 3); assertEquals(rangeSet.complement(), complement); assertTrue(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT))); assertTrue(rangeSet.includesMarker(Marker.exactly(BIGINT, 0L)));
assertEquals(rangeSet, SortedRangeSet.copyOf(BIGINT, normalizedResult)); assertEquals(rangeSet.getRangeCount(), 3); assertEquals(rangeSet.complement(), complement); assertFalse(rangeSet.includesMarker(Marker.lowerUnbounded(BIGINT))); assertTrue(rangeSet.includesMarker(Marker.exactly(BIGINT, 0L)));
assertEquals( SortedRangeSet.all(BIGINT).subtract(SortedRangeSet.of(BIGINT, 0L)), SortedRangeSet.of(BIGINT, 0L).complement()); assertEquals( SortedRangeSet.all(BIGINT).subtract(SortedRangeSet.of(Range.equal(BIGINT, 0L), Range.equal(BIGINT, 1L))), SortedRangeSet.of(Range.equal(BIGINT, 0L), Range.equal(BIGINT, 1L)).complement()); assertEquals( SortedRangeSet.all(BIGINT).subtract(SortedRangeSet.of(Range.greaterThan(BIGINT, 0L))),
@Test public void testUnion() { assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT)); assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT)); assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT)); assertUnion( SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L)), SortedRangeSet.of(Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L)), SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L))); assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.of(Range.equal(BIGINT, 0L)), SortedRangeSet.all(BIGINT)); assertUnion( SortedRangeSet.of(Range.range(BIGINT, 0L, true, 4L, false)), SortedRangeSet.of(Range.greaterThan(BIGINT, 3L)), SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L))); assertUnion( SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L)), SortedRangeSet.of(Range.lessThanOrEqual(BIGINT, 0L)), SortedRangeSet.of(Range.all(BIGINT))); assertUnion( SortedRangeSet.of(Range.greaterThan(BIGINT, 0L)), SortedRangeSet.of(Range.lessThan(BIGINT, 0L)), SortedRangeSet.of(BIGINT, 0L).complement()); }
SortedRangeSet complement = sortedRangeSet.complement();