If someone from the Team would please confirm that this is indeed a bug? Then I'll submit a JIRA. -W
On 13 September 2010 08:50, Wolfgang Laun <[email protected]> wrote: > Since the following rule is just a variant of (Expert) Example 4.66, "All > Buses are Red", I think that there is a bug, in 5.1.1: > > // Does not fire even though all Triangle have all sides > 0 > rule "All triangle sides are greater than 0" > when > forall( Triangle( a > 0, b > 0, c > 0 ) ) > then > System.out.println( "All triangle sides are > 0." ); > end > > Also, the tortuous equivalent does not fire: > > // Does not fire even though all Triangle have all sides > 0 > rule "All triangle sides are greater than 0" > when > forall( $t: Triangle() > Triangle( this == $t, a > 0, b > 0, c > 0 ) ) > then > System.out.println( "All triangle sides are > 0." ); > end > > -W > > > > On 12 September 2010 19:45, Wolfgang Laun <[email protected]> wrote: > >> Given classes >> class Triangle { int a, b, c;... } >> class Quadrangle { int a, b, c, d;... } >> with appropriate getters (but no hashCode or equals) and these facts >> Triangle( 3, 3, 3 ) >> Triangle( 3, 3, 3 ) // a duplicate, intentional >> Quadrangle ( 3, 4, 5, 6 ); >> the rule >> rule "all equilaterals have a 'fitting' quadrangle" >> when >> forall( Triangle( $a: a, b == $a, c == $a ) >> Quadrangle( a == $a || b == $a || c == $a || d == $a ) ) >> then // ... >> end >> works as expected - it fires. >> >> But the rule >> rule "all equilaterals have a duplicate" >> when >> forall( $t: Triangle( $a: a, b == $a, c == $a ) >> Triangle( this != $t, a == $a, b == $a , c == $a ) ) >> then // ... >> end >> does not fire, not even when I omit this != $t. Why? >> >> Do I have a white spot in my grey cells? Please tint my taint... >> >> -W >> >> >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
