BooleanExp extends NestedExp { public BooleanExp not() { return new BooleanExp("!(" + code + ")"); } BooleanExp(NestedExp exp); protected  BooleanExp(String code); static BooleanExp valueOf(boolean value); BooleanExp and(NestedExp exp); BooleanExp or(NestedExp exp); BooleanExp not(); static final BooleanExp TRUE; static final BooleanExp FALSE; }
@Test public void testNot() { assertEquals("!(true)", BooleanExp.TRUE.not().getCode()); }