@Test public void parseRule() { Rule r = DlgpParser.parseRule("p(X,Y) :- q(X,Z)."); Atom body = r.getBody().iterator().next(); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(0).getType()); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(1).getType()); Atom head = r.getHead().iterator().next(); Assert.assertEquals(Term.Type.VARIABLE, head.getTerm(0).getType()); Assert.assertEquals(Term.Type.VARIABLE, head.getTerm(1).getType()); }
@Test public void parseNegativeConstraint() { DefaultNegativeConstraint r = DlgpParser.parseNegativeConstraint("[N1]!:-p(X,Y), q(X,Y)."); Iterator<Atom> it = r.getBody().iterator(); Atom body = it.next(); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(0).getType()); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(1).getType()); body = it.next(); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(0).getType()); Assert.assertEquals(Term.Type.VARIABLE, body.getTerm(1).getType()); Assert.assertEquals("N1", r.getLabel()); }
@Test public void parseAtom() { Atom a = DlgpParser.parseAtom("p(a, X)."); Assert.assertEquals(Term.Type.VARIABLE, a.getTerm(1).getType()); }