Hi, I am little confused about the equals implementation in the jess. Is the
symmetric rule violated?
Thanks.
Yuping

import jess.*;
public class EqualTest
{
public static void main(String[] args) throws JessException
{
  Rete r = new Rete();

  r.eval("(deftemplate a (slot x (default 0)))");
  r.eval("(deftemplate b (slot x (default 0)))");
  r.eval("(deftemplate c (slot x (default 0)))");
  r.eval("(deftemplate d (slot x (default 0)))");

 ValueVector f = new ValueVector();
 f.add(new Value(0, RU.INTEGER));

  ValueVector f1 = new Fact("a", r);
  ValueVector f2 = new Fact("b", r);


  Object vv = new ValueVector();
  ((ValueVector) vv).add(new Value(0, RU.INTEGER));
  Object vv1 = new Fact("c", r);
  Object vv2 = new Fact("d", r);

  System.out.println(f.equals(f1));
  System.out.println(f1.equals(f));
  System.out.println(f2.equals(f));
  System.out.println(vv.equals(vv1));
  System.out.println(vv1.equals(vv));
  System.out.println(vv1.equals(vv));
}
}

Reply via email to