当前位置: 首页>>代码示例>>Java>>正文


Java Unifier.clear方法代码示例

本文整理汇总了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));      
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:25,代码来源:TermTest.java

示例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);    

}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:41,代码来源:ExprTermTest.java

示例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());
}
 
开发者ID:nickrfer,项目名称:code-sentinel,代码行数:32,代码来源:VarTermTest.java


注:本文中的jason.asSemantics.Unifier.clear方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。