@Override public Collection<Object> getValues() { return EquatableValueSet.this.getValues(); } };
private <T> Optional<Set<String>> filterString(TupleDomain<T> constraint, T column) { if (constraint.isNone()) { return Optional.of(ImmutableSet.of()); } Domain domain = constraint.getDomains().get().get(column); if (domain == null) { return Optional.empty(); } if (domain.isSingleValue()) { return Optional.of(ImmutableSet.of(((Slice) domain.getSingleValue()).toStringUtf8())); } else if (domain.getValues() instanceof EquatableValueSet) { Collection<Object> values = ((EquatableValueSet) domain.getValues()).getValues(); return Optional.of(values.stream() .map(Slice.class::cast) .map(Slice::toStringUtf8) .collect(toImmutableSet())); } return Optional.empty(); }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testUnmodifiableIterator() { Iterator<Object> iterator = EquatableValueSet.of(ID, 1L).getValues().iterator(); iterator.next(); iterator.remove(); }
@Test(expectedExceptions = UnsupportedOperationException.class) public void testUnmodifiableCollection() { EquatableValueSet.of(ID, 1L).getValues().clear(); }
@Test public void testEmptySet() { EquatableValueSet equatables = EquatableValueSet.none(ID); assertEquals(equatables.getType(), ID); assertTrue(equatables.isNone()); assertFalse(equatables.isAll()); assertFalse(equatables.isSingleValue()); assertTrue(equatables.isWhiteList()); assertEquals(equatables.getValues().size(), 0); assertEquals(equatables.complement(), EquatableValueSet.all(ID)); assertFalse(equatables.containsValue(0L)); assertFalse(equatables.containsValue(1L)); }
@Test public void testEntireSet() { EquatableValueSet equatables = EquatableValueSet.all(ID); assertEquals(equatables.getType(), ID); assertFalse(equatables.isNone()); assertTrue(equatables.isAll()); assertFalse(equatables.isSingleValue()); assertFalse(equatables.isWhiteList()); assertEquals(equatables.getValues().size(), 0); assertEquals(equatables.complement(), EquatableValueSet.none(ID)); assertTrue(equatables.containsValue(0L)); assertTrue(equatables.containsValue(1L)); }
@Test public void testSingleValue() { EquatableValueSet equatables = EquatableValueSet.of(ID, 10L); EquatableValueSet complement = (EquatableValueSet) EquatableValueSet.all(ID).subtract(equatables); // Whitelist assertEquals(equatables.getType(), ID); assertFalse(equatables.isNone()); assertFalse(equatables.isAll()); assertTrue(equatables.isSingleValue()); assertTrue(equatables.isWhiteList()); assertTrue(Iterables.elementsEqual(equatables.getValues(), ImmutableList.of(10L))); assertEquals(equatables.complement(), complement); assertFalse(equatables.containsValue(0L)); assertFalse(equatables.containsValue(1L)); assertTrue(equatables.containsValue(10L)); // Blacklist assertEquals(complement.getType(), ID); assertFalse(complement.isNone()); assertFalse(complement.isAll()); assertFalse(complement.isSingleValue()); assertFalse(complement.isWhiteList()); assertTrue(Iterables.elementsEqual(complement.getValues(), ImmutableList.of(10L))); assertEquals(complement.complement(), equatables); assertTrue(complement.containsValue(0L)); assertTrue(complement.containsValue(1L)); assertFalse(complement.containsValue(10L)); }
assertFalse(equatables.isSingleValue()); assertTrue(equatables.isWhiteList()); assertTrue(Iterables.elementsEqual(equatables.getValues(), ImmutableList.of(1L, 2L, 3L))); assertEquals(equatables.complement(), complement); assertFalse(equatables.containsValue(0L)); assertFalse(complement.isSingleValue()); assertFalse(complement.isWhiteList()); assertTrue(Iterables.elementsEqual(complement.getValues(), ImmutableList.of(1L, 2L, 3L))); assertEquals(complement.complement(), equatables); assertTrue(complement.containsValue(0L));
@Override public Collection<Object> getValues() { return EquatableValueSet.this.getValues(); } };