### Question:
Range { public Object getSingleValue() { if (!isSingleValue()) { throw new IllegalStateException("Range does not have just a single value"); } return low.getValue(); } @JsonCreator  Range(
            @JsonProperty("low") Marker low,
            @JsonProperty("high") Marker high); static Range all(Type type); static Range greaterThan(Type type, Object low); static Range greaterThanOrEqual(Type type, Object low); static Range lessThan(Type type, Object high); static Range lessThanOrEqual(Type type, Object high); static Range equal(Type type, Object value); static Range range(Type type, Object low, boolean lowInclusive, Object high, boolean highInclusive); Type getType(); @JsonProperty Marker getLow(); @JsonProperty Marker getHigh(); boolean isSingleValue(); Object getSingleValue(); boolean isAll(); boolean includes(Marker marker); boolean contains(Range other); Range span(Range other); boolean overlaps(Range other); Range intersect(Range other); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); String toString(ConnectorSession session);  }### Answer:
@Test public void testGetSingleValue() { assertEquals(Range.equal(BIGINT, 0L).getSingleValue(), 0L); try { Range.lessThan(BIGINT, 0L).getSingleValue(); fail(); } catch (IllegalStateException e) { } }