I have a single rule in my test bed as such:
rule "5th Item Not Test"
$first : FirstClass($i1 : item1, $i2 : item2, $i3 : item3, $i4 : item4, $i5 : item5)
not SecondClass(item1 == $i1, item2 == $i2, item3 == $i3, item4 == $i4, item5 == $i5)
System.out.println("NOT test matched");
In the not SecondClass() section of the test, the last equality checks always fail, no matter what it is. I can switch the order around of the checks, no matter what the last one is, it causes THEN clause to not fire, even when I am absolutely positive there is not a match. (I can remove the not and the equality works fine). Is there a limit on the number of equality tests I can do with a not? It seems as though it is 4. I have attached a test case that can reproduce this (it is different from my project's code, but I have been able to reproduce this in multiple projects). It is a maven Eclipse project and includes a junit with some minor instructions. I have created a rule that will fire as the opposite of the rule I'm trying to test and it prints out the values to the console. You can see in the console that the values are not equal, although the rule fired that they were.
If these instructions do not make sense, please email me.