public void testAsSetSubSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { for (int j = i + 1; j <= 20; j++) { assertEquals(expectedSet.subSet(i, false, j, false), asSet.subSet(i, false, j, false)); assertEquals(expectedSet.subSet(i, true, j, false), asSet.subSet(i, true, j, false)); assertEquals(expectedSet.subSet(i, false, j, true), asSet.subSet(i, false, j, true)); assertEquals(expectedSet.subSet(i, true, j, true), asSet.subSet(i, true, j, true)); } } }
public void testAsSetHeadSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { assertEquals(asSet.headSet(i, false), expectedSet.headSet(i, false)); assertEquals(asSet.headSet(i, true), expectedSet.headSet(i, true)); } }
public void testAsSetTailSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { assertEquals(asSet.tailSet(i, false), expectedSet.tailSet(i, false)); assertEquals(asSet.tailSet(i, true), expectedSet.tailSet(i, true)); } }
public void testAsSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); assertEquals(expectedSet, asSet); assertThat(asSet).containsExactlyElementsIn(expectedSet).inOrder(); assertTrue(asSet.containsAll(expectedSet)); SerializableTester.reserializeAndAssert(asSet); }
assertEquals(expected, subRangeSet); assertEquals(expected.asRanges(), subRangeSet.asRanges()); if (!expected.isEmpty()) { assertEquals(expected.span(), subRangeSet.span()); assertEquals(expected.contains(i), subRangeSet.contains(i));
subsets: for (Set<Range<Integer>> subset : Sets.powerSet(ranges)) { assertEquals(TreeRangeSet.create(subset), ImmutableRangeSet.unionOf(subset)); assertEquals(mutable, copy); assertEquals(mutable, built); assertEquals(ImmutableRangeSet.copyOf(mutable), built); assertEquals(mutable.complement(), built.complement()); assertEquals(mutable.contains(i), built.contains(i));
public void testEmpty() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.of(); assertThat(rangeSet.asRanges()).isEmpty(); assertEquals(ImmutableRangeSet.<Integer>all(), rangeSet.complement()); assertFalse(rangeSet.contains(0)); assertFalse(rangeSet.intersects(Range.singleton(0))); assertFalse(rangeSet.encloses(Range.singleton(0))); assertTrue(rangeSet.enclosesAll(rangeSet)); assertTrue(rangeSet.isEmpty()); }
public void testAll() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.all(); assertThat(rangeSet.asRanges()).contains(Range.<Integer>all()); assertTrue(rangeSet.contains(0)); assertTrue(rangeSet.intersects(Range.singleton(0))); assertTrue(rangeSet.intersects(Range.<Integer>all())); assertTrue(rangeSet.encloses(Range.<Integer>all())); assertTrue(rangeSet.enclosesAll(rangeSet)); assertEquals(ImmutableRangeSet.<Integer>of(), rangeSet.complement()); }
public void testMultipleBoundedRanges() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.<Integer>builder() .add(Range.closed(5, 8)) .add(Range.closedOpen(1, 3)) .build(); assertThat(rangeSet.asRanges()) .containsExactly(Range.closedOpen(1, 3), Range.closed(5, 8)) .inOrder(); assertTrue(rangeSet.intersects(Range.closed(1, 2))); assertTrue(rangeSet.intersects(Range.open(5, 8))); assertFalse(rangeSet.intersects(Range.closed(3, 4))); assertTrue(rangeSet.intersects(Range.greaterThan(5))); assertFalse(rangeSet.intersects(Range.greaterThan(8))); assertTrue(rangeSet.encloses(Range.closed(1, 2))); assertTrue(rangeSet.encloses(Range.open(5, 8))); assertFalse(rangeSet.encloses(Range.closed(1, 8))); assertFalse(rangeSet.encloses(Range.greaterThan(5))); RangeSet<Integer> expectedComplement = ImmutableRangeSet.<Integer>builder() .add(Range.lessThan(1)) .add(Range.closedOpen(3, 5)) .add(Range.greaterThan(8)) .build(); assertEquals(expectedComplement, rangeSet.complement()); }
public void testMultipleBoundedBelowRanges() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.<Integer>builder() .add(Range.greaterThan(6)) .add(Range.closedOpen(1, 3)) .build(); assertThat(rangeSet.asRanges()) .containsExactly(Range.closedOpen(1, 3), Range.greaterThan(6)) .inOrder(); assertTrue(rangeSet.intersects(Range.closed(1, 2))); assertTrue(rangeSet.intersects(Range.open(6, 8))); assertFalse(rangeSet.intersects(Range.closed(3, 6))); assertTrue(rangeSet.intersects(Range.greaterThan(5))); assertFalse(rangeSet.intersects(Range.lessThan(1))); assertTrue(rangeSet.encloses(Range.closed(1, 2))); assertTrue(rangeSet.encloses(Range.open(6, 8))); assertFalse(rangeSet.encloses(Range.closed(1, 8))); assertFalse(rangeSet.encloses(Range.greaterThan(5))); RangeSet<Integer> expectedComplement = ImmutableRangeSet.<Integer>builder().add(Range.lessThan(1)).add(Range.closed(3, 6)).build(); assertEquals(expectedComplement, rangeSet.complement()); }
public void testMultipleBoundedAboveRanges() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.<Integer>builder() .add(Range.atMost(0)) .add(Range.closedOpen(2, 5)) .build(); assertThat(rangeSet.asRanges()) .containsExactly(Range.atMost(0), Range.closedOpen(2, 5)) .inOrder(); assertTrue(rangeSet.intersects(Range.closed(2, 4))); assertTrue(rangeSet.intersects(Range.open(-5, -2))); assertTrue(rangeSet.intersects(Range.closed(1, 8))); assertFalse(rangeSet.intersects(Range.singleton(1))); assertFalse(rangeSet.intersects(Range.greaterThan(5))); assertTrue(rangeSet.encloses(Range.closed(2, 4))); assertTrue(rangeSet.encloses(Range.open(-5, -2))); assertFalse(rangeSet.encloses(Range.closed(1, 8))); assertFalse(rangeSet.encloses(Range.greaterThan(5))); RangeSet<Integer> expectedComplement = ImmutableRangeSet.<Integer>builder().add(Range.open(0, 2)).add(Range.atLeast(5)).build(); assertEquals(expectedComplement, rangeSet.complement()); }
public void testSingleBoundedBelowRange() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.of(Range.greaterThan(2)); assertThat(rangeSet.asRanges()).contains(Range.greaterThan(2)); assertTrue(rangeSet.intersects(Range.closed(3, 4))); assertTrue(rangeSet.intersects(Range.closedOpen(1, 5))); assertFalse(rangeSet.intersects(Range.lessThan(1))); assertTrue(rangeSet.intersects(Range.greaterThan(1))); assertTrue(rangeSet.intersects(Range.greaterThan(3))); assertTrue(rangeSet.encloses(Range.closed(3, 4))); assertTrue(rangeSet.encloses(Range.greaterThan(3))); assertFalse(rangeSet.encloses(Range.closedOpen(1, 5))); assertTrue(rangeSet.contains(3)); assertTrue(rangeSet.contains(5)); assertFalse(rangeSet.contains(0)); assertFalse(rangeSet.contains(2)); assertEquals(ImmutableRangeSet.of(Range.atMost(2)), rangeSet.complement()); }
public void testSingleBoundedAboveRange() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.of(Range.atMost(3)); assertThat(rangeSet.asRanges()).contains(Range.atMost(3)); assertTrue(rangeSet.intersects(Range.closed(3, 4))); assertTrue(rangeSet.intersects(Range.closedOpen(1, 5))); assertFalse(rangeSet.intersects(Range.closedOpen(4, 5))); assertTrue(rangeSet.intersects(Range.lessThan(1))); assertTrue(rangeSet.intersects(Range.greaterThan(1))); assertFalse(rangeSet.intersects(Range.greaterThan(3))); assertTrue(rangeSet.encloses(Range.closed(2, 3))); assertTrue(rangeSet.encloses(Range.lessThan(1))); assertFalse(rangeSet.encloses(Range.closedOpen(1, 5))); assertTrue(rangeSet.contains(3)); assertTrue(rangeSet.contains(0)); assertFalse(rangeSet.contains(4)); assertFalse(rangeSet.contains(5)); assertEquals(ImmutableRangeSet.of(Range.greaterThan(3)), rangeSet.complement()); }
public void testSingleBoundedRange() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.of(Range.closedOpen(1, 5)); assertThat(rangeSet.asRanges()).contains(Range.closedOpen(1, 5)); assertTrue(rangeSet.intersects(Range.closed(3, 4))); assertTrue(rangeSet.intersects(Range.closedOpen(0, 2))); assertTrue(rangeSet.intersects(Range.closedOpen(3, 7))); assertTrue(rangeSet.intersects(Range.greaterThan(2))); assertFalse(rangeSet.intersects(Range.greaterThan(7))); assertTrue(rangeSet.encloses(Range.closed(3, 4))); assertTrue(rangeSet.encloses(Range.closedOpen(1, 4))); assertTrue(rangeSet.encloses(Range.closedOpen(1, 5))); assertFalse(rangeSet.encloses(Range.greaterThan(2))); assertTrue(rangeSet.contains(3)); assertFalse(rangeSet.contains(5)); assertFalse(rangeSet.contains(0)); RangeSet<Integer> expectedComplement = TreeRangeSet.create(); expectedComplement.add(Range.lessThan(1)); expectedComplement.add(Range.atLeast(5)); assertEquals(expectedComplement, rangeSet.complement()); }
public void testAsSetHeadSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { assertEquals(asSet.headSet(i, false), expectedSet.headSet(i, false)); assertEquals(asSet.headSet(i, true), expectedSet.headSet(i, true)); } }
public void testAsSetSubSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { for (int j = i + 1; j <= 20; j++) { assertEquals(expectedSet.subSet(i, false, j, false), asSet.subSet(i, false, j, false)); assertEquals(expectedSet.subSet(i, true, j, false), asSet.subSet(i, true, j, false)); assertEquals(expectedSet.subSet(i, false, j, true), asSet.subSet(i, false, j, true)); assertEquals(expectedSet.subSet(i, true, j, true), asSet.subSet(i, true, j, true)); } } }
public void testAsSetTailSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); for (int i = 0; i <= 20; i++) { assertEquals(asSet.tailSet(i, false), expectedSet.tailSet(i, false)); assertEquals(asSet.tailSet(i, true), expectedSet.tailSet(i, true)); } }
public void testAsSet() { ImmutableSortedSet<Integer> expectedSet = ImmutableSortedSet.of(2, 3, 4, 8, 9, 16, 17); ImmutableSortedSet<Integer> asSet = RANGE_SET_ONE.asSet(DiscreteDomain.integers()); assertEquals(expectedSet, asSet); assertThat(asSet).containsExactlyElementsIn(expectedSet).inOrder(); assertTrue(asSet.containsAll(expectedSet)); SerializableTester.reserializeAndAssert(asSet); }
public void testEmpty() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.of(); assertThat(rangeSet.asRanges()).isEmpty(); assertEquals(ImmutableRangeSet.<Integer>all(), rangeSet.complement()); assertFalse(rangeSet.contains(0)); assertFalse(rangeSet.intersects(Range.singleton(0))); assertFalse(rangeSet.encloses(Range.singleton(0))); assertTrue(rangeSet.enclosesAll(rangeSet)); assertTrue(rangeSet.isEmpty()); }
public void testAll() { ImmutableRangeSet<Integer> rangeSet = ImmutableRangeSet.all(); assertThat(rangeSet.asRanges()).contains(Range.<Integer>all()); assertTrue(rangeSet.contains(0)); assertTrue(rangeSet.intersects(Range.singleton(0))); assertTrue(rangeSet.intersects(Range.<Integer>all())); assertTrue(rangeSet.encloses(Range.<Integer>all())); assertTrue(rangeSet.enclosesAll(rangeSet)); assertEquals(ImmutableRangeSet.<Integer>of(), rangeSet.complement()); }