public static Range<Integer> integerRange(String range) {
        return ofString(range, Integer::parseInt, Integer.class);
    }
@Test
    public void emptyInfinityEquality() {
        assertEquals(integerRange("empty"), integerRange("empty"));
        assertEquals(integerRange("(infinity,infinity)"), integerRange("(infinity,infinity)"));
        assertEquals(integerRange("(,)"), integerRange("(infinity,infinity)"));
        assertEquals(integerRange("(infinity,infinity)"), integerRange("(,)"));

        assertNotEquals(integerRange("empty"), integerRange("(infinity,infinity)"));
        assertNotEquals(integerRange("empty"), integerRange("(,)"));
        assertNotEquals(integerRange("empty"), integerRange("(5,5)"));
    }