@Override public boolean containsValue(Object value) { return includesMarker(Marker.exactly(type, value)); }
public static Range range(Type type, Object low, boolean lowInclusive, Object high, boolean highInclusive) { Marker lowMarker = lowInclusive ? Marker.exactly(type, low) : Marker.above(type, low); Marker highMarker = highInclusive ? Marker.exactly(type, high) : Marker.below(type, high); return new Range(lowMarker, highMarker); }
public static Range greaterThanOrEqual(Type type, Object low) { return new Range(Marker.exactly(type, low), Marker.upperUnbounded(type)); }
public static Range lessThanOrEqual(Type type, Object high) { return new Range(Marker.lowerUnbounded(type), Marker.exactly(type, high)); }
@Test public void testEqualRange() { Range range = Range.equal(BIGINT, 1L); assertEquals(range.getLow(), Marker.exactly(BIGINT, 1L)); assertEquals(range.getHigh(), Marker.exactly(BIGINT, 1L)); assertTrue(range.isSingleValue()); assertFalse(range.isAll()); assertEquals(range.getType(), BIGINT); assertFalse(range.includes(Marker.lowerUnbounded(BIGINT))); assertFalse(range.includes(Marker.exactly(BIGINT, 0L))); assertTrue(range.includes(Marker.exactly(BIGINT, 1L))); assertFalse(range.includes(Marker.exactly(BIGINT, 2L))); assertFalse(range.includes(Marker.upperUnbounded(BIGINT))); }
@Test public void testTypes() { assertEquals(Marker.lowerUnbounded(BIGINT).getType(), BIGINT); assertEquals(Marker.below(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.exactly(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.above(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.upperUnbounded(BIGINT).getType(), BIGINT); }
@Test public void testGreaterThanRange() { Range range = Range.greaterThan(BIGINT, 1L); assertEquals(range.getLow(), Marker.above(BIGINT, 1L)); assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT)); assertFalse(range.isSingleValue()); assertFalse(range.isAll()); assertEquals(range.getType(), BIGINT); assertFalse(range.includes(Marker.lowerUnbounded(BIGINT))); assertFalse(range.includes(Marker.exactly(BIGINT, 1L))); assertTrue(range.includes(Marker.exactly(BIGINT, 2L))); assertTrue(range.includes(Marker.upperUnbounded(BIGINT))); }
@Test public void testLessThanRange() { Range range = Range.lessThan(BIGINT, 1L); assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT)); assertEquals(range.getHigh(), Marker.below(BIGINT, 1L)); assertFalse(range.isSingleValue()); assertFalse(range.isAll()); assertEquals(range.getType(), BIGINT); assertTrue(range.includes(Marker.lowerUnbounded(BIGINT))); assertFalse(range.includes(Marker.exactly(BIGINT, 1L))); assertTrue(range.includes(Marker.exactly(BIGINT, 0L))); assertFalse(range.includes(Marker.upperUnbounded(BIGINT))); }
@Test public void testLessThanRange() { Range range = Range.lessThan(BIGINT, 1L); assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT)); assertEquals(range.getHigh(), Marker.below(BIGINT, 1L)); assertFalse(range.isSingleValue()); assertFalse(range.isAll()); assertEquals(range.getType(), BIGINT); assertTrue(range.includes(Marker.lowerUnbounded(BIGINT))); assertFalse(range.includes(Marker.exactly(BIGINT, 1L))); assertTrue(range.includes(Marker.exactly(BIGINT, 0L))); assertFalse(range.includes(Marker.upperUnbounded(BIGINT))); }
@Test public void testTypes() { assertEquals(Marker.lowerUnbounded(BIGINT).getType(), BIGINT); assertEquals(Marker.below(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.exactly(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.above(BIGINT, 1L).getType(), BIGINT); assertEquals(Marker.upperUnbounded(BIGINT).getType(), BIGINT); }
@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 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 testUnbounded() { assertTrue(Marker.lowerUnbounded(BIGINT).isLowerUnbounded()); assertFalse(Marker.lowerUnbounded(BIGINT).isUpperUnbounded()); assertTrue(Marker.upperUnbounded(BIGINT).isUpperUnbounded()); assertFalse(Marker.upperUnbounded(BIGINT).isLowerUnbounded()); assertFalse(Marker.below(BIGINT, 1L).isLowerUnbounded()); assertFalse(Marker.below(BIGINT, 1L).isUpperUnbounded()); assertFalse(Marker.exactly(BIGINT, 1L).isLowerUnbounded()); assertFalse(Marker.exactly(BIGINT, 1L).isUpperUnbounded()); assertFalse(Marker.above(BIGINT, 1L).isLowerUnbounded()); assertFalse(Marker.above(BIGINT, 1L).isUpperUnbounded()); }
@Test public void testAllRange() { Range range = Range.all(BIGINT); assertEquals(range.getLow(), Marker.lowerUnbounded(BIGINT)); assertEquals(range.getHigh(), Marker.upperUnbounded(BIGINT)); assertFalse(range.isSingleValue()); assertTrue(range.isAll()); assertEquals(range.getType(), BIGINT); assertTrue(range.includes(Marker.lowerUnbounded(BIGINT))); assertTrue(range.includes(Marker.below(BIGINT, 1L))); assertTrue(range.includes(Marker.exactly(BIGINT, 1L))); assertTrue(range.includes(Marker.above(BIGINT, 1L))); assertTrue(range.includes(Marker.upperUnbounded(BIGINT))); }