for (final Iterator<?> oi = enm.valueIterator(); oi.hasNext();) notOneOf.add(oi.next()); rd = rd.exclude(notOneOf);
for (final Iterator<?> oi = enm.valueIterator(); oi.hasNext();) notOneOf.add(oi.next()); rd = rd.exclude(notOneOf);
/** * Test that an irrelevant value can be excluded */ @Test public void excludeIrrelevant1() { final String value = "A String, not a Number"; RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), ContinuousRealInterval.allReals(), ContinuousRealInterval.allReals()); dr = dr.exclude(singleton(value)); assertFalse(dr.contains(value)); assertFalse(dr.isEmpty()); assertFalse(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that an integer is correctly excluded from an infinite integer interval */ @Test public void excludeIntInt1() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), null, null); dr = dr.exclude(singleton(1)); assertFalse(dr.contains(1)); assertTrue(dr.contains(0)); assertTrue(dr.contains(2)); assertFalse(dr.contains(decimal("0.99999"))); assertFalse(dr.contains(decimal("1.00001"))); assertFalse(dr.isEmpty()); assertTrue(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that an integer is correctly excluded from an infinite continuous interval */ @Test public void excludeConInt1() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), ContinuousRealInterval.allReals(), ContinuousRealInterval.allReals()); dr = dr.exclude(singleton(1)); assertFalse(dr.contains(1)); assertTrue(dr.contains(0)); assertTrue(dr.contains(2)); assertTrue(dr.contains(decimal("0.99999"))); assertTrue(dr.contains(decimal("1.00001"))); assertFalse(dr.isEmpty()); assertFalse(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that a non-integer is correctly excluded from an infinte continuous interval */ @Test public void excludeConNoI1() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), ContinuousRealInterval.allReals(), ContinuousRealInterval.allReals()); dr = dr.exclude(singleton(decimal("1.1"))); assertFalse(dr.contains(decimal("1.1"))); assertTrue(dr.contains(1)); assertTrue(dr.contains(2)); assertTrue(dr.contains(decimal("1.09999"))); assertTrue(dr.contains(decimal("1.10001"))); assertFalse(dr.isEmpty()); assertFalse(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that a collection of integers is correctly excluded from an infinite integer interval */ @Test public void excludeIntInt2() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), null, null); dr = dr.exclude(Arrays.asList(1, 2, 3)); assertFalse(dr.contains(1)); assertFalse(dr.contains(2)); assertFalse(dr.contains(3)); assertTrue(dr.contains(0)); assertTrue(dr.contains(4)); assertFalse(dr.contains(decimal("0.5"))); assertFalse(dr.contains(decimal("1.5"))); assertFalse(dr.contains(decimal("2.5"))); assertFalse(dr.contains(decimal("3.5"))); assertFalse(dr.isEmpty()); assertTrue(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that a collection of integers is correctly excluded from an infinite continuous interval */ @Test public void excludeConInt2() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), ContinuousRealInterval.allReals(), ContinuousRealInterval.allReals()); dr = dr.exclude(Arrays.asList(1, 2, 3)); assertFalse(dr.contains(1)); assertFalse(dr.contains(2)); assertFalse(dr.contains(3)); assertTrue(dr.contains(0)); assertTrue(dr.contains(4)); assertTrue(dr.contains(decimal("0.5"))); assertTrue(dr.contains(decimal("1.5"))); assertTrue(dr.contains(decimal("2.5"))); assertTrue(dr.contains(decimal("3.5"))); assertFalse(dr.isEmpty()); assertFalse(dr.isEnumerable()); assertFalse(dr.isFinite()); }
/** * Test that a set of non-integers is correctly excluded from an infinte continuous interval */ @Test public void excludeConNoI2() { RestrictedDatatype<Number> dr = new RestrictedRealDatatype(dt, IntegerInterval.allIntegers(), ContinuousRealInterval.allReals(), ContinuousRealInterval.allReals()); dr = dr.exclude(Arrays.asList(decimal("1.1"), decimal("2.2"), decimal("3.3"))); assertFalse(dr.contains(decimal("1.1"))); assertFalse(dr.contains(decimal("2.2"))); assertFalse(dr.contains(decimal("3.3"))); assertTrue(dr.contains(2)); assertTrue(dr.contains(3)); assertTrue(dr.contains(decimal("1.09999"))); assertTrue(dr.contains(decimal("1.10001"))); assertTrue(dr.contains(decimal("2.19999"))); assertTrue(dr.contains(decimal("2.20001"))); assertTrue(dr.contains(decimal("3.29999"))); assertTrue(dr.contains(decimal("3.30001"))); assertFalse(dr.isEmpty()); assertFalse(dr.isEnumerable()); assertFalse(dr.isFinite()); }