public void symetricDifference()

in javatests/de/jflex/testcase/charclass/CharclassTest.java [220:278]


  public void symetricDifference() throws Exception {
    scanner =
        createScanner(
            "-,,,-\n"
                + "-!!!-\n"
                + "&+&+&\n"
                + "-//..-\n"
                + "(-(((-)\n"
                + "[-[[[-]\n"
                + "!$```$!\n"
                + "-_!_||_!_-\n"
                + "<-@@@->\n"
                + "{-\\\\\\-}\n"
                + "/??\";\"??/\n");
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[^[^,.:&&-*(),]]+/ matched `,,,`")
        .that(scanner.yylex())
        .isEqualTo(State.INTER_PUNCTUATION1);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[^[^!&#&&\\^~!]]+/ matched `!!!`")
        .that(scanner.yylex())
        .isEqualTo(State.INTER_PUNCTUATION2);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[[\\p{L}||+]~~[\\p{L}||&]]+/ matched `&+&+&`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_1);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[-.~~-/]+/ matched `//..`").that(scanner.yylex()).isEqualTo(State.SYM_2);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[-()~~)]+/ matched `(-(((-`").that(scanner.yylex()).isEqualTo(State.SYM_3);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[\\[\\]~~\\[-]+/ matched `-]`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_4);
    assertWithMessage("/[^[^!&#&&\\^~!]]+/ matched `!`")
        .that(scanner.yylex())
        .isEqualTo(State.INTER_PUNCTUATION2);
    assertWithMessage("/[#!~~!#`$]+/ matched `$```$`").that(scanner.yylex()).isEqualTo(State.SYM_5);
    assertWithMessage("/[^[^!&#&&\\^~!]]+/ matched `!`")
        .that(scanner.yylex())
        .isEqualTo(State.INTER_PUNCTUATION2);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[^[^-=%_|~~-%=!]]+/ matched `_!_||_!_`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_6);
    assertWithMessage("/[^[^-KO--O]]+/ matched `-`").that(scanner.yylex()).isEqualTo(State.NOT_KOO);
    assertWithMessage("/[^[^-<>~~<@>]]+/ matched `-@@@-`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_7);
    assertWithMessage("/[^[^{}~~-{\\\\}]]+/ matched `-\\\\\\-`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_8);
    assertWithMessage("/[-.~~-/]+/ matched `/`").that(scanner.yylex()).isEqualTo(State.SYM_2);
    assertWithMessage("/[^[^;?/~~\"?/]]+/ matched `\";\"`")
        .that(scanner.yylex())
        .isEqualTo(State.SYM_9);
    assertWithMessage("/[-.~~-/]+/ matched `/`").that(scanner.yylex()).isEqualTo(State.SYM_2);
  }