⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 terminalnodetest.java

📁 rule engine drools-2.0-beta-18
💻 JAVA
字号:
package org.drools.reteoo;import org.drools.DroolsTestCase;import org.drools.RuleBase;import org.drools.conflict.DefaultConflictResolver;import org.drools.rule.Rule;import org.drools.spi.InstrumentedConsequence;public class TerminalNodeTest extends DroolsTestCase{    public void testAssertTuple() throws Exception    {        final Agenda[] agendas = new Agenda[1];        WorkingMemoryImpl memory = new WorkingMemoryImpl( new RuleBaseImpl( new Rete() ) )        {            public Agenda getAgenda()            {                return agendas[0];            }        };        final InstrumentedAgenda agenda = new InstrumentedAgenda( memory, DefaultConflictResolver.getInstance() );        agendas[ 0 ] = agenda;        Rule rule = new Rule( "test-rule" );        //add consequence        rule.setConsequence( new org.drools.spi.InstrumentedConsequence( ) );        //add condition        rule.addCondition( new org.drools.spi.InstrumentedCondition( ) );        TerminalNode node = new TerminalNode( new MockTupleSource( ), rule );        RuleBase ruleBase = new RuleBaseImpl( new Rete( ) );        ReteTuple tuple = new ReteTuple( (WorkingMemoryImpl) ruleBase.newWorkingMemory( ) );        node.assertTuple( tuple, memory );        assertLength( 1, agenda.getAdded( ) );        assertContains( tuple, agenda.getAdded( ) );    }    public void testRetractTuples() throws Exception    {        final Agenda[] agendas = new Agenda[1];        WorkingMemoryImpl memory = new WorkingMemoryImpl( new RuleBaseImpl( new Rete() ) )        {            public Agenda getAgenda()            {                return agendas[0];            }        };        final InstrumentedAgenda agenda = new InstrumentedAgenda(memory,                                                                  DefaultConflictResolver.getInstance( ) );        agendas[0] = agenda;        Rule rule = new Rule( "test-rule" );        InstrumentedConsequence consequence = new InstrumentedConsequence( );        rule.setConsequence( consequence );        TerminalNode node = new TerminalNode( new MockTupleSource( ), rule );        TupleKey key = TupleKey.EMPTY_KEY;        node.retractTuples( key, memory );        assertLength( 1, agenda.getRemoved( ) );        assertContains( key, agenda.getRemoved( ) );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -