### Question:
Interval { public boolean contains(int point) { int value = point * 2; return this.start <= value && value < this.end; } private  Interval(int start, boolean startInclusive, int end, boolean endInclusive); static Interval ofOpenOpen(int start, int end); static Interval ofOpenClosed(int start, int end); static Interval ofClosedOpen(int start, int end); static Interval ofClosedClosed(int start, int end); boolean isStartClosed(); boolean isEndClosed(); boolean isEmpty(); boolean isBefore(int point); boolean contains(int point); boolean isAfter(int point); Interval intersect(Interval other); Interval union(Interval other); Interval prefix(Interval other); Interval suffix(Interval other); Interval translate(int amount); Interval translateNegative(int amount); int size(); int start(); int end(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testContains() { Interval iv = Interval.ofOpenOpen(2, 42); assertFalse(iv.contains(1)); assertFalse(iv.contains(2)); assertTrue(iv.contains(3)); assertTrue(iv.contains(41)); assertFalse(iv.contains(42)); assertFalse(iv.contains(43)); iv = Interval.ofClosedClosed(2, 42); assertFalse(iv.contains(1)); assertTrue(iv.contains(2)); assertTrue(iv.contains(3)); assertTrue(iv.contains(41)); assertTrue(iv.contains(42)); assertFalse(iv.contains(43)); iv = Interval.ofOpenClosed(2, 42); assertFalse(iv.contains(1)); assertFalse(iv.contains(2)); assertTrue(iv.contains(3)); assertTrue(iv.contains(41)); assertTrue(iv.contains(42)); assertFalse(iv.contains(43)); iv = Interval.ofClosedOpen(2, 42); assertFalse(iv.contains(1)); assertTrue(iv.contains(2)); assertTrue(iv.contains(3)); assertTrue(iv.contains(41)); assertFalse(iv.contains(42)); assertFalse(iv.contains(43)); }