@Test
public void testGeneratedRangeRangePlusCost() throws Exception {

    {// [AB][CD]+\.
        URIElement URIElement6 = new URIElement(true);
        URIElement URIElement0 = new URIElement();
        URIElement URIElement1 = new URIElement();
        URIElement URIElement2 = new URIElement();
        URIElement URIElement3 = new URIElement();
        URIElement URIElement4 = new URIElement();
        URIElement URIElement5 = new URIElement();
        URIElement0.add(SKIP, URIElement1);
        URIElement1.add('A', URIElement2);
        URIElement1.add('B', URIElement2);
        URIElement2.add(SKIP, URIElement3);
        URIElement3.add('C', URIElement4);
        URIElement3.add('D', URIElement4);
        URIElement4.add(SKIP, URIElement3);
        URIElement4.add('.', URIElement5);
        URIElement5.add(SKIP, URIElement6);
        assertTrue(new URIVerifier(URIElement0).verify("AC."));
        assertTrue(new URIVerifier(URIElement0).verify("ACC."));
        assertTrue(new URIVerifier(URIElement0).verify("BD."));
        assertTrue(new URIVerifier(URIElement0).verify("ACDDDD."));
        assertFalse(new URIVerifier(URIElement0).verify("ACDDDD.A"));
        assertFalse(new URIVerifier(URIElement0).verify("ACDDDD.C"));
        assertFalse(new URIVerifier(URIElement0).verify("CA."));
        assertFalse(new URIVerifier(URIElement0).verify(String.valueOf('A' - 1)));
        assertFalse(new URIVerifier(URIElement0).verify("AA."));
        assertFalse(new URIVerifier(URIElement0).verify(""));
    }
}