@Test
    void testParseSpecialCharacters() {
        List<SyntaxFragment> fragments = new SyntaxParserImpl().parseSyntax(
                null,
                "l_itera-l|with_ali-as <r_equiremen-t> [o_ptiona-l]"
        );

        Assertions.assertEquals(3, fragments.size());

        final SyntaxFragment literal = fragments.get(0);
        Assertions.assertEquals("l_itera-l", literal.major());
        Assertions.assertEquals(Collections.singletonList("with_ali-as"), literal.minor());
        Assertions.assertEquals(ArgumentMode.LITERAL, literal.argumentMode());

        final SyntaxFragment requirement = fragments.get(1);
        Assertions.assertEquals("r_equiremen-t", requirement.major());
        Assertions.assertEquals(Collections.emptyList(), requirement.minor());
        Assertions.assertEquals(ArgumentMode.REQUIRED, requirement.argumentMode());

        final SyntaxFragment optional = fragments.get(2);
        Assertions.assertEquals("o_ptiona-l", optional.major());
        Assertions.assertEquals(Collections.emptyList(), optional.minor());
        Assertions.assertEquals(ArgumentMode.OPTIONAL, optional.argumentMode());
    }
Tests the correct functioning of the {@link SyntaxParserImpl}, which parses
command syntax into a List of {@link SyntaxFragment}
cloud-annotations/src/test/java/org/incendo/cloud/annotations/SyntaxParserImplTest.java