public void testTermAsExpression() { Parser p = new Parser(); NodeImpl n = (NodeImpl) p.parse("(property foo.bar)"); PropertyEvaluator ev = (PropertyEvaluator) n.getEvaluator(); assertEquals("foo.bar", ev.getPropertyName()); }
@Override public int compare(PropertyEvaluator e1, PropertyEvaluator e2) { if (e1.getSequence() < e2.getSequence()) { return 1; } else if (e1.getSequence() == e2.getSequence()) { return 0; } else { return -1; } }
public void testNot() { Parser p = new Parser(); NodeImpl n = (NodeImpl) p.parse("not (property foo)"); assertTrue(n.getEvaluator() instanceof NotEvaluator); NodeImpl n2 = (NodeImpl) n.getLeft(); PropertyEvaluator ev = (PropertyEvaluator) n2.getEvaluator(); assertEquals("foo", ev.getPropertyName()); }
public void testOr() { Parser p = new Parser(); NodeImpl n = (NodeImpl) p.parse("property foo or class bar"); assertTrue(n.getEvaluator() instanceof OrEvaluator); NodeImpl n2 = (NodeImpl) n.getLeft(); PropertyEvaluator ev1 = (PropertyEvaluator) n2.getEvaluator(); assertEquals("foo", ev1.getPropertyName()); NodeImpl n3 = (NodeImpl) n.getRight(); ClassNameEvaluator ev2 = (ClassNameEvaluator) n3.getEvaluator(); assertEquals("bar", ev2.getClassName()); }