537538539540541542543544545546547
ruleFlowGroup0.size() ); assertEquals( 2, agenda.agendaSize() ); // As we fire each rule they are removed from both the Agenda and the RuleFlowGroup agenda.fireNextItem( null ); assertEquals( 1, ruleFlowGroup0.size() ); assertEquals( 1, agenda.agendaSize() );
544545546547548549550551552553554
ruleFlowGroup0.size() ); assertEquals( 1, agenda.agendaSize() ); // XOR split should activate group1 agenda.fireNextItem( null ); workingMemory.executeQueuedActions(); assertEquals( 0, ruleFlowGroup0.size() ); assertEquals( 1, ruleFlowGroup1.size() );
556557558559560561562563564565566
ruleFlowGroup2.size() ); assertEquals( 1, agenda.agendaSize() ); // executing group1, XOR join should activate group3 agenda.fireNextItem( null ); workingMemory.executeQueuedActions(); assertEquals( 0, ruleFlowGroup1.size() ); assertEquals( 1, ruleFlowGroup2.size() );
568569570571572573574575576577578
ruleFlowGroup3.size() ); assertEquals( 1, agenda.agendaSize() ); // executing rule3, and finishing execution agenda.fireNextItem( null ); workingMemory.executeQueuedActions(); assertEquals( 0, ruleFlowGroup0.size() ); assertEquals( 0, ruleFlowGroup1.size() );
624625626627628629630631632633634
assertEquals( 1, agendaGroup.size() ); // fire next item, agendaGroup should not fire as its not on the focus stack // and thus should retain its sinle activation agenda.fireNextItem( null ); assertEquals( 1, agendaGroup.size() ); // Clear the agenda we we can test again agenda.clearAndCancel();
643644645646647648649650651652653
context, workingMemory ); assertEquals( 1, agendaGroup.size() ); agenda.fireNextItem( null ); assertEquals( 0, agendaGroup.size() ); } public void testAgendaGroupLockOnActive() {
159160161162163164165166167168169
(Activation)tuple1.getObject() ); new RightTuple( logicalHandle, sink ); agenda.fireNextItem( null ); node.retractLeftTuple( tuple1, context1, workingMemory );
627628629630631632633634635636637
646647648649650651652653654655656
context, workingMemory ); assertEquals( 1, agendaGroup.size() ); agenda.fireNextItem( null ); assertEquals( 0, agendaGroup.size() ); } @Test
745746747748749750751752753754755