@Test public void testDateExpires() throws Exception { WorkingMemory wm = (WorkingMemory) new KnowledgeBaseImpl("x", null).newKieSession(); final RuleImpl rule = new RuleImpl( "myrule" ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); final Calendar earlier = Calendar.getInstance(); earlier.setTimeInMillis( 10 ); rule.setDateExpires( earlier ); assertFalse( rule.isEffective(null, new RuleTerminalNode(), wm ) ); final Calendar later = Calendar.getInstance(); later.setTimeInMillis( later.getTimeInMillis() + 100000000 ); rule.setDateExpires( later ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); }
@Test public void testDateEffective() { WorkingMemory wm = (WorkingMemory) new KnowledgeBaseImpl( "x", null).newKieSession(); final RuleImpl rule = new RuleImpl( "myrule" ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); final Calendar earlier = Calendar.getInstance(); earlier.setTimeInMillis( 10 ); rule.setDateEffective( earlier ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); final Calendar later = Calendar.getInstance(); later.setTimeInMillis( later.getTimeInMillis() + 100000000 ); assertTrue( later.after( Calendar.getInstance() ) ); rule.setDateEffective( later ); assertFalse( rule.isEffective(null, new RuleTerminalNode(), wm ) ); }
@Test public void testRuleEnabled() { WorkingMemory wm = (WorkingMemory) new KnowledgeBaseImpl("x", null).newKieSession(); final RuleImpl rule = new RuleImpl( "myrule" ); rule.setEnabled( EnabledBoolean.ENABLED_FALSE ); assertFalse( rule.isEffective( null, new RuleTerminalNode(), wm ) ); final Calendar past = Calendar.getInstance(); past.setTimeInMillis( 10 ); rule.setDateEffective( past ); assertFalse( rule.isEffective( null, new RuleTerminalNode(), wm ) ); rule.setEnabled( EnabledBoolean.ENABLED_TRUE ); assertTrue( rule.isEffective( null, new RuleTerminalNode(), wm ) ); }
@Test public void testDateEffectiveExpires() { WorkingMemory wm = (WorkingMemory) new KnowledgeBaseImpl("x",null).newKieSession(); final RuleImpl rule = new RuleImpl( "myrule" ); final Calendar past = Calendar.getInstance(); past.setTimeInMillis( 10 ); final Calendar future = Calendar.getInstance(); future.setTimeInMillis( future.getTimeInMillis() + 100000000 ); rule.setDateEffective( past ); rule.setDateExpires( future ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); rule.setDateExpires( past ); assertFalse( rule.isEffective(null, new RuleTerminalNode(), wm ) ); rule.setDateExpires( future ); rule.setDateEffective( future ); assertFalse( rule.isEffective(null, new RuleTerminalNode(), wm ) ); }
@Test public void testTimeMachine() { SessionConfiguration conf = SessionConfiguration.newInstance(); conf.setClockType( ClockType.PSEUDO_CLOCK ); WorkingMemory wm = (WorkingMemory) new KnowledgeBaseImpl("x", null).newKieSession(conf, null); final Calendar future = Calendar.getInstance(); ((PseudoClockScheduler)wm.getSessionClock()).setStartupTime( future.getTimeInMillis() ); final RuleImpl rule = new RuleImpl( "myrule" ); rule.setEnabled( EnabledBoolean.ENABLED_TRUE ); assertTrue( rule.isEffective(null, new RuleTerminalNode(), wm ) ); future.setTimeInMillis( future.getTimeInMillis() + 100000000 ); rule.setDateEffective(future); assertFalse( rule.isEffective(null, new RuleTerminalNode(), wm ) ); ((PseudoClockScheduler)wm.getSessionClock()).advanceTime( 1000000000000L, TimeUnit.MILLISECONDS ); assertTrue(rule.isEffective(null, new RuleTerminalNode(), wm )); }
public SalienceEvaluator(InternalKnowledgeBase kBase, RuleBuildContext context, Rule rule, Salience salience, Person person) { wm = ((StatefulKnowledgeSessionImpl)kBase.newKieSession()); this.context = context; final InternalFactHandle f0 = (InternalFactHandle) wm.insert( person ); tuple = new LeftTupleImpl( f0, null, true ); this.salience = salience; this.halt = false; this.error = false; this.result = (person.getAge() + 20) / 2; RuleTerminalNode rtn = new RuleTerminalNode(); rtn.setSalienceDeclarations( context.getDeclarationResolver().getDeclarations( context.getRule() ).values().toArray( new Declaration[1] ) ); item = new AgendaItemImpl(0, tuple, 0, null, rtn, null); }
@Test public void testSimpleExpression() { StatefulKnowledgeSessionImpl ksession = (StatefulKnowledgeSessionImpl)kBase.newKieSession(); final Person p = new Person( "mark", "", 31 ); final InternalFactHandle f0 = (InternalFactHandle) ksession.insert( p ); final LeftTupleImpl tuple = new LeftTupleImpl( f0, null, true ); RuleTerminalNode rtn = new RuleTerminalNode(); rtn.setSalienceDeclarations( context.getDeclarationResolver().getDeclarations( context.getRule() ).values().toArray( new Declaration[1] ) ); AgendaItem item = new AgendaItemImpl(0, tuple, 0, null, rtn, null); assertEquals( 25, context.getRule().getSalience().getValue( new DefaultKnowledgeHelper( item, ksession ), context.getRule(), ksession ) ); }
new RuleTerminalNode( 1, new MockTupleSource( 2 ), rule, rule.getLhs(), 0, buildContext );
tuple.setLeftTupleSink( new RuleTerminalNode(1, new CompositeObjectSinkAdapterTest.MockBetaNode(), rule,rule.getLhs(), 0,new BuildContext(kBase) ) ); final Activation activation = new MockActivation( rule, 0,
tuple.setLeftTupleSink( new RuleTerminalNode(1, new CompositeObjectSinkAdapterTest.MockBetaNode(), newRule,newRule.getLhs(), 0, new BuildContext(kBase) ) ); final Activation activation = new MockActivation( newRule, 0,
networkNode = new RuleTerminalNode( id, leftTupleSource, rule, new GroupElement( Type.AND ), 0, buildContext ); break;
networkNode = new RuleTerminalNode( id, leftTupleSource, rule, new GroupElement( Type.AND ), 0, buildContext); break;
RuleTerminalNode rtn1 = new RuleTerminalNode( 18, n2, rule1, n5 = createBetaNode( 14, type[4], n4 ); n6 = createBetaNode( 15, type[5], n5 ); RuleTerminalNode rtn2 = new RuleTerminalNode( 19, n6, rule2, RuleTerminalNode rtn3 = new RuleTerminalNode( 20, n8, rule3,
new RuleTerminalNode(0, new CompositeObjectSinkAdapterTest.MockBetaNode(), context.getRule(), subrule, 0, new BuildContext( kBase )), null); final DefaultKnowledgeHelper kbHelper = new DefaultKnowledgeHelper( ksession ); kbHelper.setActivation( item );
final RuleTerminalNode node = new RuleTerminalNode(idGenerator.getNextId(), new MockTupleSource(idGenerator.getNextId()), rule,
new RuleTerminalNode( 1, new MockTupleSource( 2 ), rule, rule.getLhs(), 0, buildContext );
final RuleTerminalNode node1 = new RuleTerminalNode(3, new MockTupleSource(2), rule1,
final RuleTerminalNode node = new RuleTerminalNode(2, new MockTupleSource(2), rule,
final RuleTerminalNode node = new RuleTerminalNode(2, new MockTupleSource(2), rule,
final MockObjectSink sink = new MockObjectSink(); objectTypeNode.addObjectSink( sink ); final RuleTerminalNode node = new RuleTerminalNode( idGenerator.getNextId(), new MockTupleSource( idGenerator.getNextId() ), rule1,