verify( ael,
times( 7 ) ).afterActivationFired( captor.capture() );
List<AfterActivationFiredEvent> values = captor.getAllValues();
// first rule
Activation act = values.get( 0 ).getActivation();
assertThat( act.getRule().getName(),
is( "launch" ) );
// second rule
act = values.get( 1 ).getActivation();
assertThat( act.getRule().getName(),
is( "ba" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 3 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 2 ) );
// third rule
act = values.get( 2 ).getActivation();
assertThat( act.getRule().getName(),
is( "ab" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 3 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 2 ) );
// fourth rule
act = values.get( 3 ).getActivation();
assertThat( act.getRule().getName(),
is( "ba" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 3 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 1 ) );
// fifth rule
act = values.get( 4 ).getActivation();
assertThat( act.getRule().getName(),
is( "ab" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 3 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 1 ) );
// sixth rule
act = values.get( 5 ).getActivation();
assertThat( act.getRule().getName(),
is( "ba" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 2 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 1 ) );
// seventh rule
act = values.get( 6 ).getActivation();
assertThat( act.getRule().getName(),
is( "ab" ) );
assertThat( ((Number)act.getDeclarationValue( "$a" )).intValue(), is( 2 ) );
assertThat( ((Number)act.getDeclarationValue( "$b" )).intValue(), is( 1 ) );
}