final AgendaGroup group1 = agenda.getAgendaGroup( "group1" ); agenda.setFocus( group1 ); assertEquals( 1, group1.size() ); RuleAgendaItem ruleItem1 = (RuleAgendaItem) group1.getActivations()[0]; ruleItem1.getRuleExecutor().evaluateNetwork(wm.getAgenda()); assertEquals(3, ruleItem1.getRuleExecutor().getLeftTupleList().size()); assertEquals( 1, group1.size() ); assertEquals( 2, ruleItem1.getRuleExecutor().getLeftTupleList().size() ); assertEquals( 1, group1.size() ); ruleItem1.getRuleExecutor().evaluateNetwork(wm.getAgenda()); assertEquals(2, ruleItem1.getRuleExecutor().getLeftTupleList().size()); assertEquals( 1, group2.size() ); RuleAgendaItem ruleItem2 = (RuleAgendaItem) group2.getActivations()[0]; ruleItem2.getRuleExecutor().evaluateNetwork(wm.getAgenda()); assertEquals(3, ruleItem2.getRuleExecutor().getLeftTupleList().size()); assertEquals( 1, group2.size() ); assertEquals( 2, ruleItem2.getRuleExecutor().getLeftTupleList().size() ); assertEquals( 1, group2.size() ); assertEquals( 2, ruleItem2.getRuleExecutor().getLeftTupleList().size() );
@Test public void testLockOnActive() throws Exception { KieBase kbase = loadKnowledgeBase("test_LockOnActive.drl"); KieSession ksession = kbase.newKieSession(); final List list = new ArrayList(); ksession.setGlobal( "list", list ); // AgendaGroup "group1" is not active, so should receive activation final Cheese brie12 = new Cheese( "brie", 12 ); ksession.insert( brie12 ); ((InternalWorkingMemory)ksession).flushPropagations(); InternalAgenda agenda = ((InternalAgenda) ksession.getAgenda()); final AgendaGroup group1 = agenda.getAgendaGroup( "group1" ); assertEquals( 1, group1.size() ); ksession.getAgenda().getAgendaGroup("group1").setFocus( ); // AgendaqGroup "group1" is now active, so should not receive activations final Cheese brie10 = new Cheese( "brie", 10 ); ksession.insert( brie10 ); assertEquals( 1, group1.size() ); final Cheese cheddar20 = new Cheese( "cheddar", 20 ); ksession.insert( cheddar20 ); final AgendaGroup group2 = agenda.getAgendaGroup( "group1" ); assertEquals( 1, group2.size() ); agenda.setFocus(group2); final Cheese cheddar17 = new Cheese( "cheddar", 17 ); ksession.insert( cheddar17 ); assertEquals( 1, group2.size() ); }
assertEquals(1, agenda.getFocus().size()); node2.assertLeftTuple(tuple2_1, context2, workingMemory); agenda.unstageActivations(); assertEquals(1, agenda.getFocus().size()); assertEquals(1, agendaGroup1.size()); agenda.getFocus().size()); agendaGroup1.size()); agenda.getFocus().size()); agenda.getFocus().size()); agenda.getFocus().size()); agenda.getFocus().size()); agenda.getFocus()); assertEquals(0, agenda.getFocus().size()); assertEquals(3, agenda.agendaSize()); agenda.getFocus().size()); assertEquals(2, agenda.agendaSize());
agenda.getFocus().size()); node2.assertLeftTuple(tuple2, context2, agenda.getFocus().size()); agendaGroup2.size()); agenda.getFocus().size()); agendaGroup2.size()); agenda.getFocus().size()); agenda.getFocus().size()); agenda.getFocus().size()); agenda.getFocus().size()); agendaGroup3); assertEquals(0, agenda.getFocus().size()); assertEquals(3, agenda.agendaSize()); agenda.getFocus().size()); assertEquals(2, agenda.agendaSize());