### Question:
Range { public Range span(Range other) { checkTypeCompatibility(other); Marker lowMarker = Marker.min(low, other.getLow()); Marker highMarker = Marker.max(high, other.getHigh()); return new Range(lowMarker, highMarker); } @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 testSpan() { assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 2L)), Range.all(BIGINT)); assertEquals(Range.greaterThan(BIGINT, 2L).span(Range.lessThanOrEqual(BIGINT, 0L)), Range.all(BIGINT)); assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.equal(BIGINT, 2L)), Range.range(BIGINT, 1L, true, 3L, false)); assertEquals(Range.range(BIGINT, 1L, true, 3L, false).span(Range.range(BIGINT, 2L, false, 10L, false)), Range.range(BIGINT, 1L, true, 10L, false)); assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.equal(BIGINT, 0L)), Range.greaterThanOrEqual(BIGINT, 0L)); assertEquals(Range.greaterThan(BIGINT, 1L).span(Range.greaterThanOrEqual(BIGINT, 10L)), Range.greaterThan(BIGINT, 1L)); assertEquals(Range.lessThan(BIGINT, 1L).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.lessThanOrEqual(BIGINT, 1L)); assertEquals(Range.all(BIGINT).span(Range.lessThanOrEqual(BIGINT, 1L)), Range.all(BIGINT)); }