public void testNOTRule()
{
Rule r = new Rule(new NOTCondition(new EQUALCondition(
ATTRIBUTE_CAR_IN_FRONT_IS_BRAKING, true)),
ACTION_INITIATE_BRAKING);
Assert.Equals(ACTION_INITIATE_BRAKING, r.getAction());
Assert.Equals(
"if ![car-in-front-is-braking==true] then Action[name==initiate-braking].",
r.ToString());
Assert.Equals(false, r.evaluate(new DynamicPercept(
ATTRIBUTE_CAR_IN_FRONT_IS_BRAKING, true)));
Assert.Equals(true, r.evaluate(new DynamicPercept(
ATTRIBUTE_CAR_IN_FRONT_IS_BRAKING, false)));
Assert.Equals(true, r.evaluate(new DynamicPercept(
ATTRIBUTE_CAR_IN_FRONT_IS_INDICATING, true)));
}