### Question:
Span implements Comparable<Span> { public boolean isContaining(Span containingSpan) { boolean isStartContaining = getStart() <= containingSpan.getStart(); if (!isStartContaining) { return false; } return getEnd() >= containingSpan.getEnd(); } Span(int start, int length); int getStart(); int getLength(); int getEnd(); boolean isContaining(Span containingSpan); boolean isIntersecting(Span s); @Override int compareTo(Span span); @Override boolean equals(Object o); @Override String toString(); @Override int hashCode();  }### Answer:
@Test public void testIsContaining() { Span a = new Span(5000, 900); Span b = new Span(5200, 600); assertTrue(a.isContaining(b)); }
@Test public void testIsContainingWithEqual() { Span a = new Span(5000, 900); assertTrue(a.isContaining(a)); }
@Test public void testIsContainingWithLowerIntersect() { Span a = new Span(5000, 900); Span b = new Span(4500, 1000); assertFalse(a.isContaining(b)); }
@Test public void testIsContainingWithHigherIntersect() { Span a = new Span(5000, 900); Span b = new Span(5000, 1000); assertFalse(a.isContaining(b)); }