### Question:
Span implements Comparable<Span> { @Override public int compareTo(Span span) { return span.getStart() - getStart(); } 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 testCompareToWithBiggerSpan() { Span a = new Span(100, 1000); Span b = new Span(5000, 900); assertTrue(a.compareTo(b) > 0); }
@Test public void testCompareToWithBiggerIntersectSpan() { Span a = new Span(100, 1000); Span b = new Span(900, 900); assertTrue(a.compareTo(b) > 0); }
@Test public void testCompareToWithLowerSpan() { Span a = new Span(5000, 900); Span b = new Span(100, 1000); assertTrue(a.compareTo(b) < 0); }
@Test public void testCompareToWithLowerIntersectSpan() { Span a = new Span(5000, 900); Span b = new Span(4900, 1000); assertTrue(a.compareTo(b) < 0); }
@Test public void testCompareToEquals() { Span a = new Span(4900, 1000); Span b = new Span(4900, 1000); assertEquals(0, a.compareTo(b)); }