### Question:
Range { public static <T extends Comparable<? super T>> Range<T> closed(final T lowerBound, final T upperBound) { return new Range<>(lowerBound, upperBound); } protected  Range(final T lowerBound, final T upperBound); Range<T> limit(final Range<T> limit); T lowerBound(); T upperBound(); @Override int hashCode(); @Override boolean equals(final Object o); static Range<T> closed(final T lowerBound, final T upperBound); static Range<T> fixed(final T fixed);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void lowerBoundCannotBeNull() { closed(null, 100); }
@Test(expected = IllegalArgumentException.class) public void upperBoundCannotBeNull() { closed(100, null); }
@Test(expected = IllegalArgumentException.class) public void lowerBoundShouldNotBeMoreThanUpperBound() { closed(5, 4); }