@Override public boolean apply(final ABox abox, final Literal[] args) { return _test.test(args); } }
@Override public boolean apply(final ABox abox, final Literal[] args) { return _test.test(args); } }
/** * @param expected * @param result * @return the second argument if the first is null, else return the first . Else, return the literal if its value equals the string. Otherwise return null. */ public static Literal expectedIfEquals(final Literal expected, final Literal result) { if (expected == null) return result; if (ComparisonTesters.equal.test(new Literal[] { expected, result })) return expected; return null; } }
private static boolean mergeResults(final Literal[] args1, final Literal[] args2) { for (int i = 0; i < args1.length; i++) if (args1[i] == null) { if (args2[i] == null) return false; args1[i] = args2[i]; } else if (args2[i] != null) if (!ComparisonTesters.equal.test(new Literal[] { args1[i], args2[i] })) return false; return true; }
/** * @param expected * @param result * @return the second argument if the first is null, else return the first . Else, return the literal if its value equals the string. Otherwise return null. */ public static Literal expectedIfEquals(final Literal expected, final Literal result) { if (expected == null) return result; if (ComparisonTesters.equal.test(new Literal[] { expected, result })) return expected; return null; } }
private static boolean mergeResults(final Literal[] args1, final Literal[] args2) { for (int i = 0; i < args1.length; i++) if (args1[i] == null) { if (args2[i] == null) return false; args1[i] = args2[i]; } else if (args2[i] != null) if (!ComparisonTesters.equal.test(new Literal[] { args1[i], args2[i] })) return false; return true; }
private static boolean equal(final Literal l1, final Literal l2) { if (l1 == null && l2 == null) return true; if (l1 == null) return false; if (l2 == null) return false; return ComparisonTesters.equal.test(new Literal[] { l1, l2 }); }
private static boolean greaterThan(final Literal l1, final Literal l2) { return ComparisonTesters.greaterThan.test(new Literal[] { l1, l2 }); }
private static boolean greaterThanOrEqual(final Literal l1, final Literal l2) { return ComparisonTesters.greaterThanOrEqual.test(new Literal[] { l1, l2 }); }
private static boolean lessThanOrEqual(final Literal l1, final Literal l2) { return ComparisonTesters.lessThanOrEqual.test(new Literal[] { l1, l2 }); }
private static boolean lessThan(final Literal l1, final Literal l2) { return ComparisonTesters.lessThan.test(new Literal[] { l1, l2 }); }
private static boolean notEqual(final Literal l1, final Literal l2) { return ComparisonTesters.notEqual.test(new Literal[] { l1, l2 }); }
@Override public void rebind(final VariableBinding newBinding) { final Literal[] arguments = new Literal[_atom.getAllArguments().size()]; int i = 0; for (final AtomDObject obj : _atom.getAllArguments()) arguments[i++] = newBinding.get(obj); _result = _test.test(arguments); }
@Override public void rebind(final VariableBinding newBinding) { final Literal[] arguments = new Literal[_atom.getAllArguments().size()]; int i = 0; for (final AtomDObject obj : _atom.getAllArguments()) arguments[i++] = newBinding.get(obj); _result = _test.test(arguments); }
private boolean stringTest(final Tester tester, final String... args) { final Literal[] litArgs = new Literal[args.length]; for (int i = 0; i < args.length; i++) litArgs[i] = _abox.addLiteral(literal(args[i])); return tester.test(litArgs); }
private void stringFunc(final Function func, final Literal expected, final Literal... args) { final Literal result = func.apply(_abox, null, args); if (expected == null || result == null) assertEquals("Unexpected function result.", expected, result); else assertTrue("Unexcepted resturn value. Expected " + expected + " but saw " + result, ComparisonTesters.equal.test(new Literal[] { expected, result })); assertEquals("Wrong return value", expected, func.apply(_abox, expected, args)); assertEquals("Unexpected equality", null, func.apply(_abox, _abox.addLiteral(DependencySet.INDEPENDENT), args)); }