public void testLiteralCriterions() {
assertEquals(0, database.count(Employee.class, Criterion.literal(null)));
assertEquals(0, database.count(Employee.class, Criterion.literal(null).negate()));
assertEquals(0, database.count(Employee.class, Criterion.literal(0)));
assertEquals(6, database.count(Employee.class, Criterion.literal(10)));
assertEquals(6, database.count(Employee.class, Criterion.literal(-10)));
assertEquals(6, database.count(Employee.class, Criterion.literal(0).negate()));
assertEquals(0, database.count(Employee.class, Criterion.literal(10).negate()));
assertEquals(0, database.count(Employee.class, Criterion.literal("sqlite")));
assertEquals(6, database.count(Employee.class, Criterion.literal("sqlite").negate()));
assertEquals(6, database.count(Employee.class, Criterion.literal("1sqlite")));
assertEquals(0, database.count(Employee.class, Criterion.literal("1sqlite").negate()));
Criterion isHappyCriterion = Employee.IS_HAPPY.asCriterion();
assertEquals(5, database.count(Employee.class, isHappyCriterion));
assertEquals(1, database.count(Employee.class, isHappyCriterion.negate()));
Criterion nameCriterion = Employee.NAME.asCriterion();
assertEquals(0, database.count(Employee.class, nameCriterion));
assertEquals(6, database.count(Employee.class, nameCriterion.negate()));
Criterion f = Function.functionWithArguments("length", "sqlite").asCriterion();
assertEquals(6, database.count(Employee.class, f));
assertEquals(0, database.count(Employee.class, f.negate()));
}