@Override public boolean contains(final Object value) { if (value instanceof Number) { final Number n = (Number) value; if (OWLRealUtils.acceptable(n.getClass())) { /* * TODO: This could be made more efficient by looking at how * each contained check fails (e.g., if _intervals is sorted by * boundaries and n is not contained, but less than upper, there * is no need to look further). */ for (final OWLRealInterval i : _intervals) if (i.contains(n)) return true; return false; } else return false; } else return false; }
@Override public boolean contains(final Object value) { if (value instanceof Number) { final Number n = (Number) value; if (OWLRealUtils.acceptable(n.getClass())) { /* * TODO: This could be made more efficient by looking at how * each contained check fails (e.g., if _intervals is sorted by * boundaries and n is not contained, but less than upper, there * is no need to look further). */ for (final OWLRealInterval i : _intervals) if (i.contains(n)) return true; return false; } else return false; } else return false; }
if (i.contains(n))
if (i.contains(n))
/** * Verify that inclusive endpoints are contained within the interval. For no integer intervals with non-integer bounds. */ @Test public void inclusiveEndpointsNoI1() { final OWLRealInterval interval = interval(-1.3, 2.5, true, true, LineType.INTEGER_EXCLUDED); assertTrue(interval.contains(BigDecimal.valueOf(-1.3d))); assertTrue(interval.contains(BigDecimal.valueOf(2.5d))); assertFalse(interval.contains(0)); assertTrue(interval.contains(BigDecimal.valueOf(0.1d))); }
/** * Verify that exclusive endpoints are not contained within the interval. For no integer intervals with non-integer bounds. */ @Test public void exclusiveEndpointsNoI1() { final OWLRealInterval interval = interval(-1.3, 2.5, false, false, LineType.INTEGER_EXCLUDED); assertFalse(interval.contains(BigDecimal.valueOf(-1.3d))); assertFalse(interval.contains(BigDecimal.valueOf(2.5d))); assertFalse(interval.contains(0)); assertTrue(interval.contains(BigDecimal.valueOf(0.1d))); }
/** * Verify that inclusive endpoints are contained within the interval. For continuous intervals. */ @Test public void inclusiveEndpointsCon() { final OWLRealInterval interval = interval(-1.3, 2.5, true, true, LineType.CONTINUOUS); assertTrue(interval.contains(BigDecimal.valueOf(-1.3d))); assertTrue(interval.contains(BigDecimal.valueOf(2.5d))); assertTrue(interval.contains(0)); }
/** * Verify that exclusive endpoints are not contained within the interval. For no integer intervals with integer bounds. */ @Test public void exclusiveEndpointsNoI2() { final OWLRealInterval interval = interval(-1, 3, false, false, LineType.INTEGER_EXCLUDED); assertFalse(interval.contains(-1)); assertFalse(interval.contains(3)); assertFalse(interval.contains(0)); assertTrue(interval.contains(BigDecimal.valueOf(0.1d))); }
/** * Verify that inclusive endpoints are not contained within the interval for no integer intervals with integer bounds. */ @Test public void inclusiveEndpointsNoI2() { final OWLRealInterval interval = interval(-1, 3, true, true, LineType.INTEGER_EXCLUDED); assertFalse(interval.contains(-1)); assertFalse(interval.contains(3)); assertFalse(interval.contains(0)); assertTrue(interval.contains(BigDecimal.valueOf(0.1d))); }
/** * Verify that exclusive endpoints are not contained within the interval. For continuous intervals. */ @Test public void exclusiveEndpointsCon() { final OWLRealInterval interval = interval(-1.3, 2.5, false, false, LineType.CONTINUOUS); assertFalse(interval.contains(BigDecimal.valueOf(-1.3d))); assertFalse(interval.contains(BigDecimal.valueOf(2.5d))); assertTrue(interval.contains(0)); }
/** * Verify that exclusive endpoints are not contained within the interval. For integer only intervals with integer bounds. */ @Test public void exclusiveEndpointsOnly() { final OWLRealInterval interval = interval(-1, 3, false, false, LineType.INTEGER_ONLY); assertFalse(interval.contains(-1)); assertFalse(interval.contains(3)); assertTrue(interval.contains(0)); }
/** * Verify that inclusive endpoints are contained within the interval. For integer only intervals with integer bounds. */ @Test public void inclusiveEndpointsOnly() { final OWLRealInterval interval = interval(-1, 3, true, true, LineType.INTEGER_ONLY); assertTrue(interval.contains(-1)); assertTrue(interval.contains(3)); assertTrue(interval.contains(0)); }
@Test public void unboundContainsAll() { final OWLRealInterval interval = new OWLRealInterval(null, null, false, false, LineType.CONTINUOUS); assertFalse(interval.boundLower()); assertFalse(interval.boundUpper()); assertFalse(interval.isPoint()); assertTrue(interval.contains(-1)); assertTrue(interval.contains(0)); assertTrue(interval.contains(1)); assertTrue(interval.contains(BigDecimal.valueOf(-0.31d))); assertTrue(interval.contains(BigDecimal.valueOf(0.13d))); assertTrue(interval.contains(BigDecimal.valueOf(Long.MAX_VALUE).add(BigDecimal.valueOf(Long.MAX_VALUE)).add(BigDecimal.valueOf(0.123d)))); }
/** * Verify that the overlap of two continuous intervals with exclusive bounds intersect correctly. */ @Test public void intersectionOverlapConCon1() { final OWLRealInterval a = interval(null, 0.51, false, false, LineType.CONTINUOUS); final OWLRealInterval b = interval(0.49, null, false, false, LineType.CONTINUOUS); final OWLRealInterval expected = interval(0.49, 0.51, false, false, LineType.CONTINUOUS); assertEquals(expected, a.intersection(b)); assertEquals(expected, b.intersection(a)); assertTrue(a.intersection(b).contains(BigDecimal.valueOf(0.50))); assertTrue(b.intersection(a).contains(BigDecimal.valueOf(0.50))); assertFalse(a.intersection(b).contains(BigDecimal.valueOf(0.49))); assertFalse(b.intersection(a).contains(BigDecimal.valueOf(0.49))); assertFalse(a.intersection(b).contains(BigDecimal.valueOf(0.51))); assertFalse(b.intersection(a).contains(BigDecimal.valueOf(0.51))); assertEquals(IntervalRelations.OVERLAPS, a.compare(b)); assertEquals(IntervalRelations.OVERLAPPED_BY, b.compare(a)); }
/** * Verify that the overlap of two continuous intervals with inclusive bounds intersect correctly. */ @Test public void intersectionOverlapConCon2() { final OWLRealInterval a = interval(null, 0.51, false, true, LineType.CONTINUOUS); final OWLRealInterval b = interval(0.49, null, true, false, LineType.CONTINUOUS); final OWLRealInterval expected = interval(0.49, 0.51, true, true, LineType.CONTINUOUS); assertEquals(expected, a.intersection(b)); assertEquals(expected, b.intersection(a)); assertTrue(a.intersection(b).contains(BigDecimal.valueOf(0.50))); assertTrue(b.intersection(a).contains(BigDecimal.valueOf(0.50))); assertTrue(a.intersection(b).contains(BigDecimal.valueOf(0.49))); assertTrue(b.intersection(a).contains(BigDecimal.valueOf(0.49))); assertTrue(a.intersection(b).contains(BigDecimal.valueOf(0.51))); assertTrue(b.intersection(a).contains(BigDecimal.valueOf(0.51))); assertEquals(IntervalRelations.OVERLAPS, a.compare(b)); assertEquals(IntervalRelations.OVERLAPPED_BY, b.compare(a)); }
/** * Verify that two continuous intervals overlapping just on an inclusive bound intersect to a point. */ @Test public void intersectionPointCon() { final OWLRealInterval a = interval(null, 2.1, false, true, LineType.CONTINUOUS); final OWLRealInterval b = interval(2.1, null, true, false, LineType.CONTINUOUS); final OWLRealInterval expected = new OWLRealInterval(BigDecimal.valueOf(2.1d)); assertEquals(expected, a.intersection(b)); assertEquals(expected, b.intersection(a)); assertTrue(a.intersection(b).isPoint()); assertTrue(b.intersection(a).isPoint()); assertTrue(a.intersection(b).contains(BigDecimal.valueOf(2.1d))); assertTrue(b.intersection(a).contains(BigDecimal.valueOf(2.1d))); assertEquals(IntervalRelations.OVERLAPS, a.compare(b)); assertEquals(IntervalRelations.OVERLAPPED_BY, b.compare(a)); }
/** * Verify that two integer intervals overlapping just on an inclusive bound intersect to a point. */ @Test public void intersectionPointOnly() { final OWLRealInterval a = interval(null, 2, false, true, LineType.INTEGER_ONLY); final OWLRealInterval b = interval(2, null, true, false, LineType.INTEGER_ONLY); final OWLRealInterval expected = new OWLRealInterval(Integer.valueOf(2)); assertEquals(expected, a.intersection(b)); assertEquals(expected, b.intersection(a)); assertTrue(a.intersection(b).isPoint()); assertTrue(b.intersection(a).isPoint()); assertTrue(a.intersection(b).contains(Integer.valueOf(2))); assertTrue(b.intersection(a).contains(Integer.valueOf(2))); assertEquals(IntervalRelations.OVERLAPS, a.compare(b)); assertEquals(IntervalRelations.OVERLAPPED_BY, b.compare(a)); }