public void testIsDefiniteClause()
{
Clause c1 = new Clause();
Assert.IsFalse(c1.isDefiniteClause());
c1.addNegativeLiteral(new Predicate("Pred1", new List<Term>()));
Assert.IsFalse(c1.isDefiniteClause());
c1.addPositiveLiteral(new Predicate("Pred2", new List<Term>()));
Assert.IsTrue(c1.isDefiniteClause());
c1.addNegativeLiteral(new Predicate("Pred3", new List<Term>()));
Assert.IsTrue(c1.isDefiniteClause());
c1.addNegativeLiteral(new Predicate("Pred4", new List<Term>()));
Assert.IsTrue(c1.isDefiniteClause());
c1.addPositiveLiteral(new Predicate("Pred5", new List<Term>()));
Assert.IsFalse(c1.isDefiniteClause());
}