@Test
void parseCast() {

    Term term = SUT.parse(IOUtils.toInputStream("CAST(parameter,S7ParameterUserData).items(hurz)[0]", Charset.defaultCharset()));
    assertVariableLiteral(
        term,
        "CAST",
        terms -> {
            assertThat(terms, hasSize(2));
            assertVariableLiteral(
                terms.get(0),
                "parameter"
            );
            assertVariableLiteral(
                terms.get(1),
                "S7ParameterUserData"
            );
        },
        variableLiteral -> {
            assertVariableLiteral(
                variableLiteral,
                "items",
                terms -> {
                    assertThat(terms, hasSize(1));
                    assertVariableLiteral(
                        terms.get(0),
                        "hurz"
                    );
                },
                null,
                0
            );
        }
    );
}