@Test
public void testBooleanDatatypeConstructors()
{
final KnowledgeBase kb = new KnowledgeBaseImpl();
final ATermAppl nni = Datatypes.NON_NEGATIVE_INTEGER;
final ATermAppl npi = Datatypes.NON_POSITIVE_INTEGER;
final ATermAppl ni = Datatypes.NEGATIVE_INTEGER;
final ATermAppl pi = Datatypes.POSITIVE_INTEGER;
final ATermAppl f = Datatypes.FLOAT;
final ATermAppl s = term("s");
kb.addDatatypeProperty(s);
assertSatisfiable(kb, some(s, pi));
assertSatisfiable(kb, some(s, not(pi)));
assertUnsatisfiable(kb, some(s, and(pi, ni)));
assertUnsatisfiable(kb, some(s, and(f, or(pi, ni))));
assertSatisfiable(kb, some(s, and(npi, ni)));
assertSatisfiable(kb, some(s, and(nni, pi)));
assertSatisfiable(kb, some(s, or(nni, npi)));
assertSatisfiable(kb, some(s, and(nni, npi)));
}