void () { assertTrue(empty().abs(INT64).isEmpty()); assertEquals(point(Long.MAX_VALUE), point(Long.MIN_VALUE + 1).abs(INT64)); assertEquals(point(Long.MIN_VALUE), point(Long.MIN_VALUE).abs(INT64)); assertEquals(point(Integer.MIN_VALUE), point(Integer.MIN_VALUE).abs(INT32)); assertEquals(point(Integer.MAX_VALUE + 1L), point(Integer.MIN_VALUE).abs(INT64)); assertEquals(range(100, 200), range(100, 200).abs(INT64)); assertEquals(range(0, 200), range(-1, 200).abs(INT64)); assertEquals(range(0, 200), range(-200, 200).abs(INT32)); assertEquals(range(0, 201), range(-201, 200).abs(INT32)); assertEquals(range(0, Long.MAX_VALUE).join(point(Long.MIN_VALUE)), all().abs(INT64)); assertEquals(range(100, Integer.MAX_VALUE).join(point(Integer.MIN_VALUE)), range(Integer.MIN_VALUE, -100).abs(INT32)); assertEquals(range(100, Integer.MAX_VALUE + 1L), range(Integer.MIN_VALUE, -100).abs(INT64)); LongRangeSet set = range(-900, 1000).subtract(range(-800, -600)).subtract(range(-300, 100)).subtract(range(500, 700)); assertEquals("{-900..-801, -599..-301, 101..499, 701..1000}", set.toString()); assertEquals("{101..599, 701..1000}", set.abs(INT32).toString()); }