SubRule rp1 = new SubRule( rule1,
0 );
SubPattern pp1 = new SubPattern( pattern1,
0 );
AlwaysTrue alwaysTrue1 = new AlwaysTrue( pp1 );
SubPattern pp2 = new SubPattern( pattern1,
1 );
AlwaysTrue alwaysTrue2 = new AlwaysTrue( pp2 );
rp1.add( pp1 );
rp1.add( pp2 );
// This rule is okay.
VerifierRule rule2 = VerifierComponentMockFactory.createRule2();
Pattern pattern2 = VerifierComponentMockFactory.createPattern2();
SubRule rp2 = new SubRule( rule2,
0 );
SubPattern pp3 = new SubPattern( pattern2,
0 );
SubPattern pp4 = new SubPattern( pattern2,
1 );
AlwaysTrue alwaysTrue4 = new AlwaysTrue( pp4 );
rp2.add( pp3 );
rp2.add( pp4 );
data.add( rule1 );
data.add( rp1 );
data.add( pp1 );
data.add( pp2 );
data.add( alwaysTrue1 );
data.add( alwaysTrue2 );
data.add( rule2 );
data.add( rp2 );
data.add( pp3 );
data.add( pp4 );
data.add( alwaysTrue4 );
StatelessSessionResult sessionResult = session.executeWithResults( data );
Iterator iter = sessionResult.iterateObjects();
boolean rp1true = false;
boolean rp2true = false;
boolean rp3true = false;
boolean rp4true = false;
while ( iter.hasNext() ) {
Object o = (Object) iter.next();
if ( o instanceof AlwaysTrue ) {
AlwaysTrue alwaysTrue = (AlwaysTrue) o;
if ( !rp1true ) {
rp1true = alwaysTrue.getCause().equals( pp1 );
}
if ( !rp2true ) {
rp2true = alwaysTrue.getCause().equals( pp2 );
}
if ( !rp3true ) {
rp3true = alwaysTrue.getCause().equals( pp3 );
}
if ( !rp4true ) {
rp4true = alwaysTrue.getCause().equals( pp4 );
}
}
}
assertTrue( rp1true );