本文整理汇总了Java中jason.asSemantics.Unifier.clear方法的典型用法代码示例。如果您正苦于以下问题:Java Unifier.clear方法的具体用法?Java Unifier.clear怎么用?Java Unifier.clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jason.asSemantics.Unifier
的用法示例。
在下文中一共展示了Unifier.clear方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testMakeVarAnnon1
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testMakeVarAnnon1() {
Literal l1 = Literal.parseLiteral("likes(jane,X,peter)");
Literal l2 = Literal.parseLiteral("likes(X,Y,Y)");
Literal l3 = Literal.parseLiteral("likes(X,Y,X)");
Literal l4 = Literal.parseLiteral("likes(Z,Y,Y)");
Unifier u = new Unifier();
assertFalse(u.unifies(l1, l2));
u.clear();
assertFalse(u.unifies(l1, l3));
u.clear();
assertTrue(u.unifies(l1, l4));
l2.makeVarsAnnon();
u.clear();
assertTrue(u.unifies(l1, l2));
l3.makeVarsAnnon();
u.clear();
assertFalse(u.unifies(l1, l3));
l4.makeVarsAnnon();
u.clear();
assertTrue(u.unifies(l1, l4));
}
示例2: testLiteralBuilder
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testLiteralBuilder() throws JasonException {
Literal l = Literal.parseLiteral("~p(t1,t2)[a1,a2]");
assertEquals(l.getAsListOfTerms().size(), 4);
ListTerm lt1 = ListTermImpl.parseList("[~p,[t1,t2],[a1,a2]]");
assertTrue(l.equals(Literal.newFromListOfTerms(lt1)));
ListTerm lt2 = ListTermImpl.parseList("[p,[t1,t2],[a1,a2]]");
assertFalse(l.equals(Literal.newFromListOfTerms(lt2)));
ListTerm lt3 = ListTermImpl.parseList("[~p,[t1,t2],[a1,a2,a3]]");
assertFalse(l.equals(Literal.newFromListOfTerms(lt3)));
Unifier u = new Unifier();
assertFalse(u.unifies(lt1, lt2));
assertTrue( new RelExpr(l, RelExpr.RelationalOp.literalBuilder, lt1).logicalConsequence(null, u).hasNext());
assertFalse(new RelExpr(l, RelExpr.RelationalOp.literalBuilder, lt2).logicalConsequence(null, u).hasNext());
assertFalse(new RelExpr(l, RelExpr.RelationalOp.literalBuilder, lt3).logicalConsequence(null, u).hasNext());
VarTerm v = new VarTerm("X");
u.clear();
assertTrue(new RelExpr(v, RelExpr.RelationalOp.literalBuilder, lt1).logicalConsequence(null, u).hasNext());
assertEquals(u.get("X").toString(), l.toString());
assertEquals(u.get("X"), l);
assertEquals(l, u.get("X"));
u.clear();
assertTrue(new RelExpr(l, RelExpr.RelationalOp.literalBuilder, v).logicalConsequence(null, u).hasNext());
ListTerm lt4 = ListTermImpl.parseList("[default,~p,[t1,t2],[a1,a2]]");
System.out.println(u);
assertEquals(u.get("X").toString(), lt4.toString());
assertEquals(u.get("X"), lt4);
assertEquals(lt4, u.get("X"));
l = Literal.parseLiteral("p(t1,t2)");
assertEquals(l.getAsListOfTerms().size(), 4);
assertEquals(((ListTerm)l.getAsListOfTerms().get(2)).size(), 2);
assertEquals(((ListTerm)l.getAsListOfTerms().get(3)).size(), 0);
}
示例3: testVarWithAnnots1
import jason.asSemantics.Unifier; //导入方法依赖的package包/类
public void testVarWithAnnots1() throws ParseException {
VarTerm v1 = ASSyntax.parseVar("X[a,b,c]");
VarTerm v2 = ASSyntax.parseVar("X[a,b]");
assertTrue(v1.equals(v2));
v2.addAnnot(new Structure("c"));
assertTrue(v1.equals(v2));
assertTrue(v2.equals(v1));
Unifier u = new Unifier();
Pred p1 = Pred.parsePred("p(t1,t2)[a,c]");
// X[a,b,c] = p[a,c] nok
assertFalse(u.unifies(v1, p1));
assertEquals("p(t1,t2)[a,c]",p1.toString());
// p[a,c] = X[a,b,c] ok (X is p)
assertTrue(u.unifies(p1, v1));
assertEquals("p(t1,t2)[a,c]",p1.toString());
assertEquals(u.get("X").toString(), "p(t1,t2)");
p1.addAnnot(new Structure("b"));
p1.addAnnot(new Structure("d"));
u.clear();
// p[a,c,b,d] = X[a,b,c] nok
assertFalse(u.unifies(p1, v1));
u.clear();
// X[a,b,c] = p[a,c,b,d] ok (X is p)
assertTrue(u.unifies(v1, p1));
assertEquals(u.get("X").toString(), "p(t1,t2)");
assertEquals("p(t1,t2)[a,b,c]",v1.capply(u).toString());
}