@BeforeClass public static void initTerms() { for (int i = 0; i < X.length; i++) X[i] = term("X" + i); }
@Test public void testMin() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl C = term("C"); final ATermAppl p = term("p"); r.visit(min(p, 3, C)); final String expected = "(p min 3 C)"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testNot() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl C = term("C"); r.visit(not(C)); final String expected = "not C"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testSelf() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl p = term("p"); r.visit(self(p)); final String expected = "(p Self)"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testInverse() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl p = term("p"); r.visit(inv(p)); final String expected = "inverse p"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testNot() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl C = term("C"); r.visit(not(C)); final String expected = "not C"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testInverse() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl p = term("p"); r.visit(inv(p)); final String expected = "inverse p"; final String actual = s.toString(); assertEquals(expected, actual); }
@Test public void testSelf() { final StringWriter s = new StringWriter(); final ATermRenderer r = new ATermManchesterSyntaxRenderer(); r.setWriter(new PrintWriter(s)); final ATermAppl p = term("p"); r.visit(self(p)); final String expected = "(p Self)"; final String actual = s.toString(); assertEquals(expected, actual); }
public void testVariableUtils2() { final ATermAppl p = term("p"); final AtomIVariable var1 = new AtomIVariable("var1"), var2 = new AtomIVariable("var2"); final RuleAtom atom = new IndividualPropertyAtom(p, var1, var2); assertIteratorValues(VariableUtils.getVars(atom).iterator(), new Object[] { var1, var2 }); }
@Test public void topDataAssertion() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl r = term("r"); final ATermAppl x = term("x"); final ATermAppl y = literal("y"); kb.addDatatypeProperty(r); kb.addIndividual(x); kb.addPropertyValue(r, x, y); assertTrue(kb.hasPropertyValue(x, TOP_DATA_PROPERTY, y)); }
@Test public void testRuleIndividuals() { final ATermAppl c = term("C"), d = term("D"), i = term("i"); _kb.addClass(c); _kb.addClass(d); _kb.addIndividual(i); _kb.addType(i, c); _kb.addRule(new Rule(Arrays.asList(new RuleAtom[] { new ClassAtom(d, new AtomIConstant(i)) }), Arrays.asList(new RuleAtom[] { new ClassAtom(c, new AtomIConstant(i)) }))); _kb.realize(); assertTrue(_kb.getTypes(i).contains(Collections.singleton(d))); }
@Test public void topDataSuper() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl p = term("p"); kb.addDatatypeProperty(p); assertTrue(kb.isSubPropertyOf(p, TOP_DATA_PROPERTY)); }
@Test public void topObjectSuper() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl p = term("p"); kb.addObjectProperty(p); assertTrue(kb.isSubPropertyOf(p, TOP_OBJECT_PROPERTY)); }
@Test public void testCyclicTBox1() { final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); kb.addEquivalentClass(C, not(C)); assertFalse(kb.isConsistent()); }
@Test public void testBottomSub() { // See also: http://cvsdude.com/trac/clark-parsia/pellet-devel/ticket/7 final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl c = term("c"); kb.addClass(c); kb.addSubClass(ATermUtils.BOTTOM, c); kb.classify(); assertTrue(kb.isSubClassOf(ATermUtils.BOTTOM, c)); }
@Test public void bottomObjectInverseManual() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl c = term("_C_"); final ATermAppl notC = not(c); final ATermAppl r = BOTTOM_OBJECT_PROPERTY; final ATermAppl test = and(c, or(some(r, all(r, notC)), some(r, all(r, notC)))); assertFalse(kb.isSatisfiable(test)); }
@Test public void validLiteralRestrictedDatatype() { dataProperties(_p); individuals(_a); final ATermAppl uri = term("http//example.com/datatype"); _kb.addRange(_p, INTEGER); _kb.addDatatypeDefinition(uri, restrict(INTEGER, minExclusive(literal(0)))); _kb.addPropertyValue(_p, _a, literal("1", uri)); assertTrue(_kb.isConsistent()); }
@Test public void validLiteralStringRestriction1() { dataProperties(_p); individuals(_a); final ATermAppl uri = term("http//example.com/datatype"); _kb.addDatatypeDefinition(uri, oneOf(literal("a"), literal("b"))); _kb.addRange(_p, uri); _kb.addPropertyValue(_p, _a, literal("a")); assertTrue(_kb.isConsistent()); }
@Test public void invalidLiteralStringRestriction() { assumeTrue(OpenlletOptions.INVALID_LITERAL_AS_INCONSISTENCY); dataProperties(_p); individuals(_a); final ATermAppl uri = term("http//example.com/datatype"); _kb.addDatatypeDefinition(uri, oneOf(literal("a"), literal("b"))); _kb.addRange(_p, uri); _kb.addPropertyValue(_p, _a, literal("a", uri)); assertFalse(_kb.isConsistent()); }