FPLParser parser = new FPLParser(string, null, null);
Predicate pred = parser.expression();
Assert.assertTrue("Parsed predicate should be a BooleanValue, but is " + pred.getClass().getCanonicalName(), pred instanceof BooleanValue);
BooleanValue val = (BooleanValue)pred;
Assert.assertTrue("Parsed predicate should be negative", !val.isPositive());
FreeVars vars = val.getFreeVariables();
Assert.assertEquals("Should only contain one free variable", 1, vars.size());
Assert.assertEquals("Foo should have a boolean type", "boolean", vars.getType(new SpecVar("foo")));
}