use of com.vaticle.typeql.lang.query.TypeQLQuery in project typeql-lang-java by vaticle.
the class NormalisationTest method negatedDisjunction.
@Test
public void negatedDisjunction() {
String query = "match\n" + "$com isa company;\n" + "not {\n" + " $com has name $n1;\n" + " {\n" + " $n1 \"the-company\";\n" + " } or {\n" + " $n1 \"other-company\";\n" + " };\n" + "}; ";
TypeQLMatch typeqlMatch = TypeQL.parseQuery(query).asMatch();
Disjunction<Conjunction<Conjunctable>> normalised = typeqlMatch.conjunction().normalise();
String expected = "match\n" + "$com isa company;\n" + "not {\n" + " {\n" + " $com has name $n1;\n" + " $n1 \"the-company\";\n" + " } or {\n" + " $com has name $n1;\n" + " $n1 \"other-company\";\n" + " };\n" + "};";
TypeQLQuery expectedQuery = TypeQL.parseQuery(expected);
Disjunction<? extends Pattern> inner = expectedQuery.asMatch().conjunction().patterns().get(1).asNegation().pattern().asDisjunction();
assertEquals(expected, expectedQuery.toString());
}
Aggregations