[jboss-svn-commits] JBL Code SVN: r7257 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/reteoo test/java/org/drools/examples test/java/org/drools/reteoo test/java/org/drools/rule test/java/org/drools/spi
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 31 16:39:52 EST 2006
Author: tirelli
Date: 2006-10-31 16:39:36 -0500 (Tue, 31 Oct 2006)
New Revision: 7257
Removed:
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/waltz/
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/spi/MockConstraint.java
Log:
Fixing unit tests
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/EvalConditionNode.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -16,10 +16,6 @@
* limitations under the License.
*/
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
import org.drools.RuleBaseConfiguration;
import org.drools.common.BaseNode;
import org.drools.common.InternalWorkingMemory;
@@ -27,6 +23,8 @@
import org.drools.common.PropagationContextImpl;
import org.drools.rule.EvalCondition;
import org.drools.spi.PropagationContext;
+import org.drools.util.Iterator;
+import org.drools.util.TupleHashTable;
/**
* Node which filters <code>ReteTuple</code>s.
@@ -144,7 +142,7 @@
workingMemory );
if ( allowed ) {
- final List memory = (LinkedList) workingMemory.getNodeMemory( this );
+ final TupleHashTable memory = (TupleHashTable) workingMemory.getNodeMemory( this );
memory.add( tuple );
this.sink.propagateAssertTuple( tuple,
@@ -156,11 +154,12 @@
public void retractTuple(final ReteTuple tuple,
final PropagationContext context,
final InternalWorkingMemory workingMemory) {
- final List memory = (LinkedList) workingMemory.getNodeMemory( this );
+ final TupleHashTable memory = (TupleHashTable) workingMemory.getNodeMemory( this );
// can we improve that?
- if ( memory.remove( tuple ) ) {
- this.sink.propagateRetractTuple( tuple,
+ ReteTuple memTuple = memory.remove( tuple );
+ if ( memTuple != null ) {
+ this.sink.propagateRetractTuple( memTuple,
context,
workingMemory );
}
@@ -194,7 +193,7 @@
}
public Object createMemory(final RuleBaseConfiguration config) {
- return new LinkedList();
+ return new TupleHashTable();
}
/* (non-Javadoc)
@@ -204,10 +203,10 @@
final PropagationContext context,
final InternalWorkingMemory workingMemory) {
- final List memory = (List) workingMemory.getNodeMemory( this );
+ final TupleHashTable memory = (TupleHashTable) workingMemory.getNodeMemory( this );
- for ( Iterator tupleIter = memory.iterator(); tupleIter.hasNext(); ) {
- ReteTuple tuple = (ReteTuple) tupleIter.next();
+ final Iterator it = memory.iterator();
+ for ( ReteTuple tuple = (ReteTuple) it.next(); tuple != null; tuple = (ReteTuple) it.next() ) {
sink.assertTuple( tuple,
context,
workingMemory );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -96,9 +96,9 @@
// check memories are empty
assertEquals( 0,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 0,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
}
/* (non-Javadoc)
@@ -111,9 +111,10 @@
/**
* Test method for {@link org.drools.reteoo.AccumulateNode#updateNewNode(InternalWorkingMemory, org.drools.spi.PropagationContext)}.
*/
- public void testUpdateNewNode() {
- this.node.updateNewNode( this.workingMemory,
- this.context );
+ public void testUpdateSink() {
+ this.node.updateSink( this.sink,
+ this.context,
+ this.workingMemory );
Assert.assertEquals( "No tuple should be propagated",
0,
this.sink.getAsserted().size() );
@@ -132,8 +133,9 @@
final MockTupleSink otherSink = new MockTupleSink();
this.node.addTupleSink( otherSink );
- this.node.updateNewNode( this.workingMemory,
- this.context );
+ this.node.updateSink( otherSink,
+ this.context,
+ this.workingMemory );
Assert.assertEquals( "Two tuples should have been propagated",
2,
@@ -141,36 +143,6 @@
}
/**
- * Test method for {@link org.drools.reteoo.AccumulateNode#getPropagatedTuples(org.drools.reteoo.ReteooWorkingMemory, org.drools.reteoo.TupleSink)}.
- */
- public void testGetPropagatedTuples() {
-
- this.node.assertTuple( new ReteTuple( this.workingMemory.getFactHandleFactory().newFactHandle( "cheese" ) ),
- this.context,
- this.workingMemory );
- this.node.assertTuple( new ReteTuple( this.workingMemory.getFactHandleFactory().newFactHandle( "other cheese" ) ),
- this.context,
- this.workingMemory );
-
- Assert.assertEquals( "Two tuples should have been propagated",
- 2,
- this.sink.getAsserted().size() );
-
- final Tuple t1 = (Tuple) ((Object[]) this.sink.getAsserted().get( 0 ))[0];
- final Tuple t2 = (Tuple) ((Object[]) this.sink.getAsserted().get( 1 ))[0];
-
- final List propagated = this.node.getPropagatedTuples( this.workingMemory,
- this.sink );
- Assert.assertEquals( "Wrong Tuple propagated",
- t1,
- propagated.get( 0 ) );
- Assert.assertEquals( "Wrong Tuple propagated",
- t2,
- propagated.get( 1 ) );
-
- }
-
- /**
* Test method for {@link org.drools.reteoo.AccumulateNode#assertTuple(org.drools.reteoo.ReteTuple, org.drools.spi.PropagationContext, org.drools.reteoo.ReteooWorkingMemory)}.
*/
public void testAssertTuple() {
@@ -183,9 +155,9 @@
this.workingMemory );
// check memories
assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 0,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
Assert.assertTrue( "An empty matching objects list should be propagated",
this.accumulator.getMatchingObjects().isEmpty() );
@@ -197,16 +169,13 @@
this.context,
this.workingMemory );
assertEquals( 2,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
Assert.assertTrue( "An empty matching objects list should be propagated",
this.accumulator.getMatchingObjects().isEmpty() );
- final ReteTuple tuple = (ReteTuple) this.memory.getLeftTupleMemory().iterator( this.workingMemory,
- f0 ).next();
- assertEquals( tuple0,
- tuple );
- assertEquals( tuple1,
- tuple.getNext() );
+ TupleMemory memory = this.memory.getTupleMemory();
+ assertTrue( memory.contains( tuple0 ) );
+ assertTrue( memory.contains( tuple1 ) );
Assert.assertEquals( "Two tuples should have been propagated",
2,
@@ -235,9 +204,9 @@
this.workingMemory );
// check memories
assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 2,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
Assert.assertEquals( "Wrong number of elements in matching objects list ",
2,
this.accumulator.getMatchingObjects().size() );
@@ -248,17 +217,14 @@
this.context,
this.workingMemory );
assertEquals( 2,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
Assert.assertEquals( "Wrong number of elements in matching objects list ",
2,
this.accumulator.getMatchingObjects().size() );
- final ReteTuple tuple = (ReteTuple) this.memory.getLeftTupleMemory().iterator( this.workingMemory,
- f0 ).next();
- assertEquals( tuple0,
- tuple );
- assertEquals( tuple1,
- tuple.getNext() );
+ final TupleMemory memory = this.memory.getTupleMemory();
+ assertTrue( memory.contains( tuple0 ) );
+ assertTrue( memory.contains( tuple1 ) );
Assert.assertEquals( "Two tuples should have been propagated",
2,
@@ -266,39 +232,6 @@
}
/**
- * Test method for {@link org.drools.reteoo.AccumulateNode#modifyTuple(org.drools.reteoo.ReteTuple, org.drools.spi.PropagationContext, org.drools.reteoo.ReteooWorkingMemory)}.
- */
- public void testModifyTuple() {
- final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.getFactHandleFactory().newFactHandle( "cheese" );
-
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- // assert tuple, should add one to left memory
- this.node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
- // check memories
- assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
- assertEquals( 0,
- this.memory.getRightObjectMemory().size() );
- Assert.assertTrue( "An empty matching objects list should be propagated",
- this.accumulator.getMatchingObjects().isEmpty() );
-
- this.node.modifyTuple( tuple0,
- this.context,
- this.workingMemory );
- assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
- assertEquals( 1,
- this.sink.getRetracted().size() );
- assertEquals( 2,
- this.sink.getAsserted().size() );
- Assert.assertTrue( "An empty matching objects list should be propagated",
- this.accumulator.getMatchingObjects().isEmpty() );
- }
-
- /**
* Test method for {@link org.drools.reteoo.AccumulateNode#retractTuple(org.drools.reteoo.ReteTuple, org.drools.spi.PropagationContext, org.drools.reteoo.ReteooWorkingMemory)}.
*/
public void testRetractTuple() {
@@ -312,9 +245,9 @@
this.workingMemory );
// check memories
assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 0,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
Assert.assertTrue( "An empty matching objects list should be propagated",
this.accumulator.getMatchingObjects().isEmpty() );
@@ -322,7 +255,7 @@
this.context,
this.workingMemory );
assertEquals( 0,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 1,
this.sink.getRetracted().size() );
assertEquals( 1,
@@ -345,7 +278,7 @@
// check memory
assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 1,
this.sink.getAsserted().size() );
assertEquals( 0,
@@ -355,7 +288,7 @@
this.context,
this.workingMemory );
assertEquals( 1,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
assertEquals( 2,
this.sink.getAsserted().size() );
assertEquals( 1,
@@ -366,7 +299,7 @@
this.workingMemory );
assertEquals( 2,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
assertEquals( 3,
this.sink.getAsserted().size() );
assertEquals( 2,
@@ -375,60 +308,6 @@
}
/**
- * Test method for {@link org.drools.reteoo.AccumulateNode#modifyObject(InternalFactHandle, org.drools.spi.PropagationContext, InternalWorkingMemory)}.
- */
- public void testModifyObject() {
- final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory.getFactHandleFactory().newFactHandle( "cheese" );
- final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory.getFactHandleFactory().newFactHandle( "other cheese" );
-
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- this.node.assertObject( f0,
- this.context,
- this.workingMemory );
- this.node.assertObject( f1,
- this.context,
- this.workingMemory );
-
- // assert tuple, should add one to left memory
- this.node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
- // check memories
- assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
- assertEquals( 2,
- this.memory.getRightObjectMemory().size() );
- assertEquals( 1,
- this.sink.getAsserted().size() );
- assertEquals( 0,
- this.sink.getRetracted().size() );
- Assert.assertEquals( "Wrong number of elements in matching objects list ",
- 2,
- this.accumulator.getMatchingObjects().size() );
-
- // assert tuple, should add left memory
- this.node.modifyObject( f0,
- this.context,
- this.workingMemory );
- assertEquals( 2,
- this.memory.getRightObjectMemory().size() );
- assertEquals( 2,
- this.sink.getAsserted().size() );
- assertEquals( 1,
- this.sink.getRetracted().size() );
- Assert.assertEquals( "Wrong number of elements in matching objects list ",
- 2,
- this.accumulator.getMatchingObjects().size() );
-
- final Tuple tuple = (Tuple) this.memory.getLeftTupleMemory().iterator( this.workingMemory,
- f0 ).next();
- assertEquals( tuple0,
- tuple );
-
- }
-
- /**
* Test method for {@link org.drools.reteoo.AccumulateNode#retractObject(InternalFactHandle, org.drools.spi.PropagationContext, InternalWorkingMemory)}.
*/
public void testRetractObject() {
@@ -444,7 +323,7 @@
this.context,
this.workingMemory );
assertEquals( 2,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
// assert tuple, should add one to left memory
this.node.assertTuple( tuple0,
@@ -453,7 +332,7 @@
// check memory
assertEquals( 1,
- this.memory.getLeftTupleMemory().size() );
+ this.memory.getTupleMemory().size() );
assertEquals( 0,
this.sink.getRetracted().size() );
assertEquals( 1,
@@ -465,7 +344,7 @@
this.context,
this.workingMemory );
assertEquals( 1,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
assertEquals( 1,
this.sink.getRetracted().size() );
assertEquals( 2,
@@ -477,7 +356,7 @@
this.context,
this.workingMemory );
assertEquals( 0,
- this.memory.getRightObjectMemory().size() );
+ this.memory.getFactHandleMemory().size() );
assertEquals( 2,
this.sink.getRetracted().size() );
assertEquals( 3,
@@ -487,31 +366,6 @@
}
- public void testAttach() throws Exception {
- assertEquals( 15,
- this.node.getId() );
-
- assertLength( 0,
- this.objectSource.getObjectSinksAsList() );
-
- assertLength( 0,
- this.tupleSource.getTupleSinks() );
-
- this.node.attach();
-
- assertLength( 1,
- this.objectSource.getObjectSinksAsList() );
-
- assertLength( 1,
- this.tupleSource.getTupleSinks() );
-
- assertSame( this.node,
- this.objectSource.getObjectSinks().getLastObjectSink() );
-
- assertSame( this.node,
- this.tupleSource.getTupleSinks().get( 0 ) );
- }
-
public void testMemory() {
final ReteooWorkingMemory workingMemory = new ReteooWorkingMemory( 1,
(ReteooRuleBase) RuleBaseFactory.newRuleBase() );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AddRemoveTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -30,7 +30,8 @@
final Rete rete = new Rete();
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 0,
new ClassObjectType( Object.class ),
- rete );
+ rete,
+ 1 );
objectTypeNode.attach();
final MockObjectSink sink = new MockObjectSink();
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AlphaNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -23,6 +23,7 @@
import org.drools.FactException;
import org.drools.RuleBaseFactory;
import org.drools.base.ClassFieldExtractor;
+import org.drools.base.FieldFactory;
import org.drools.base.ValueType;
import org.drools.base.evaluators.Operator;
import org.drools.common.DefaultFactHandle;
@@ -32,7 +33,6 @@
import org.drools.spi.Evaluator;
import org.drools.spi.FieldExtractor;
import org.drools.spi.FieldValue;
-import org.drools.spi.MockField;
import org.drools.spi.PropagationContext;
import org.drools.util.FactHashTable;
@@ -65,7 +65,7 @@
final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -76,7 +76,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- true ); // has memory
+ true,
+ 3); // has memory
final MockObjectSink sink = new MockObjectSink();
alphaNode.addObjectSink( sink );
@@ -145,7 +146,7 @@
final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -156,7 +157,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- false ); // no memory
+ false,
+ 3); // no memory
final MockObjectSink sink = new MockObjectSink();
alphaNode.addObjectSink( sink );
@@ -230,7 +232,7 @@
final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -291,7 +293,7 @@
final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -301,7 +303,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- true ); // has memory
+ true,
+ 3); // has memory
final MockObjectSink sink = new MockObjectSink();
alphaNode.addObjectSink( sink );
@@ -368,7 +371,7 @@
final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -378,7 +381,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- false ); // no memory
+ false,
+ 3 ); // no memory
final MockObjectSink sink = new MockObjectSink();
alphaNode.addObjectSink( sink );
@@ -450,7 +454,7 @@
final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -460,7 +464,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- true ); // has memory
+ true,
+ 3); // has memory
alphaNode.attach();
@@ -516,7 +521,7 @@
final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- final FieldValue field = new MockField( "cheddar" );
+ final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
final Evaluator evaluator = ValueType.OBJECT_TYPE.getEvaluator( Operator.EQUAL );
final LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -526,7 +531,8 @@
final AlphaNode alphaNode = new AlphaNode( 2,
constraint,
source,
- false ); // no memory
+ false,
+ 3 ); // no memory
alphaNode.attach();
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/EvalConditionNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -23,6 +23,7 @@
import org.drools.common.PropagationContextImpl;
import org.drools.spi.PropagationContext;
import org.drools.util.LinkedList;
+import org.drools.util.TupleHashTable;
public class EvalConditionNodeTest extends DroolsTestCase {
private PropagationContext context;
@@ -52,16 +53,14 @@
assertEquals( 18,
node.getId() );
- assertLength( 0,
- source.getTupleSinks() );
+ assertEquals( 0,
+ source.getAttached() );
node.attach();
- assertLength( 1,
- source.getTupleSinks() );
+ assertEquals( 1,
+ source.getAttached() );
- assertSame( node,
- source.getTupleSinks().get( 0 ) );
}
public void testMemory() {
@@ -74,7 +73,7 @@
source,
new MockEvalCondition( true ) );
- final LinkedList memory = (LinkedList) workingMemory.getNodeMemory( node );
+ final TupleHashTable memory = (TupleHashTable) workingMemory.getNodeMemory( node );
assertNotNull( memory );
}
@@ -117,16 +116,13 @@
this.workingMemory );
// Check memory was populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
+ final TupleHashTable memory = (TupleHashTable) this.workingMemory.getNodeMemory( node );
assertEquals( 2,
memory.size() );
- // Check list is in the correct order
- assertEquals( tuple0,
- memory.getFirst() );
- assertEquals( tuple1,
- tuple0.getNext() );
+ assertTrue( memory.contains( tuple0 ) );
+ assertTrue( memory.contains( tuple1 ) );
// make sure assertions were propagated
assertEquals( 2,
@@ -166,14 +162,12 @@
this.workingMemory );
// Check memory was populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
+ final TupleHashTable memory = (TupleHashTable) this.workingMemory.getNodeMemory( node );
assertEquals( 2,
memory.size() );
- assertEquals( tuple0,
- memory.getFirst() );
- assertEquals( tuple1,
- tuple0.getNext() );
+ assertTrue( memory.contains( tuple0 ) );
+ assertTrue( memory.contains( tuple1 ) );
// make sure assertions were propagated
assertEquals( 2,
@@ -188,8 +182,7 @@
assertEquals( 1,
memory.size() );
- assertEquals( tuple1,
- memory.getFirst() );
+ assertTrue( memory.contains( tuple1 ) );
// make sure retractions were propagated
assertEquals( 1,
@@ -209,164 +202,6 @@
sink.getRetracted().size() );
}
- public void testAssertedAllowedThenModifyAllowed() throws FactException {
- final MockEvalCondition eval = new MockEvalCondition( true );
-
- // Create a test node that always returns false
- final EvalConditionNode node = new EvalConditionNode( 1,
- new MockTupleSource( 15 ),
- eval );
-
- final MockTupleSink sink = new MockTupleSink();
- node.addTupleSink( sink );
-
- // Create the Tuple
- final DefaultFactHandle f0 = new DefaultFactHandle( 0,
- "stilton" );
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- // Tuple should pass and propagate
- node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
-
- // we create and retract two tuples, checking the linkedtuples is null for JBRULES-246 "NPE on retract()"
- // Create the Tuple
- final DefaultFactHandle f1 = new DefaultFactHandle( 1,
- "cheddar" );
- final ReteTuple tuple1 = new ReteTuple( f1 );
-
- // Tuple should pass and propagate
- node.assertTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // Check memory was populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
-
- assertEquals( 2,
- memory.size() );
- assertEquals( tuple0,
- memory.getFirst() );
- assertEquals( tuple1,
- tuple0.getNext() );
-
- // make sure assertions were propagated
- assertEquals( 2,
- sink.getAsserted().size() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple0,
- this.context,
- this.workingMemory );
- assertEquals( 2,
- memory.size() );
-
- // notice the order is reversed, as tuple0 was modified last and is more recent
- assertEquals( tuple1,
- memory.getFirst() );
-
- assertEquals( tuple0,
- tuple1.getNext() );
-
- // make sure modifications were propagated
- assertEquals( 1,
- sink.getModified().size() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // notice the order is reversed, as tuple0 was modified last and is more recent
- assertEquals( tuple0,
- memory.getFirst() );
-
- assertEquals( tuple1,
- tuple0.getNext() );
-
- // make sure modifications were propagated
- assertEquals( 2,
- sink.getModified().size() );
- }
-
- public void testAssertedAllowedThenModifyNotAllowed() throws FactException {
- final MockEvalCondition eval = new MockEvalCondition( true );
-
- // Create a test node that always returns false
- final EvalConditionNode node = new EvalConditionNode( 1,
- new MockTupleSource( 15 ),
- eval );
-
- final MockTupleSink sink = new MockTupleSink();
- node.addTupleSink( sink );
-
- // Create the Tuple
- final DefaultFactHandle f0 = new DefaultFactHandle( 0,
- "stilton" );
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- // Tuple should pass and propagate
- node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
-
- // we create and retract two tuples, checking the linkedtuples is null for JBRULES-246 "NPE on retract()"
- // Create the Tuple
- final DefaultFactHandle f1 = new DefaultFactHandle( 1,
- "cheddar" );
- final ReteTuple tuple1 = new ReteTuple( f1 );
-
- // Tuple should pass and propagate
- node.assertTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // Check memory was populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
-
- assertEquals( 2,
- memory.size() );
- assertEquals( tuple0,
- memory.getFirst() );
- assertEquals( tuple1,
- tuple0.getNext() );
-
- // make sure assertions were propagated
- assertEquals( 2,
- sink.getAsserted().size() );
-
- eval.setIsAllowed( false );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple0,
- this.context,
- this.workingMemory );
-
- // tuple1 has now been removed
- assertEquals( 1,
- memory.size() );
- assertEquals( tuple1,
- memory.getFirst() );
-
- // make sure modifications were propagated as a retraction, as it is now no longer passing
- assertEquals( 1,
- sink.getRetracted().size() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // tuple0 has now been removed
- assertEquals( 0,
- memory.size() );
-
- // make sure modifications were propagated as a retraction
- assertEquals( 2,
- sink.getRetracted().size() );
- }
-
public void testAssertedNotAllowed() throws FactException {
final MockEvalCondition eval = new MockEvalCondition( false );
@@ -399,7 +234,7 @@
this.workingMemory );
// Check memory was not populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
+ final TupleHashTable memory = (TupleHashTable) this.workingMemory.getNodeMemory( node );
assertEquals( 0,
memory.size() );
@@ -408,150 +243,9 @@
assertEquals( 0,
sink.getAsserted().size() );
assertEquals( 0,
- sink.getModified().size() );
- assertEquals( 0,
sink.getRetracted().size() );
}
- public void testAssertedNotAllowedThenModifyNotAllowed() throws FactException {
- final MockEvalCondition eval = new MockEvalCondition( false );
-
- // Create a test node that always returns false
- final EvalConditionNode node = new EvalConditionNode( 1,
- new MockTupleSource( 15 ),
- eval );
-
- final MockTupleSink sink = new MockTupleSink();
- node.addTupleSink( sink );
-
- // Create the Tuple
- final DefaultFactHandle f0 = new DefaultFactHandle( 0,
- "stilton" );
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- // Tuple should fail and not propagate
- node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
-
- // Create the Tuple
- final DefaultFactHandle f1 = new DefaultFactHandle( 1,
- "chedddar" );
- final ReteTuple tuple1 = new ReteTuple( f1 );
-
- // Tuple should fail and not propagate
- node.assertTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // Check memory was not populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
-
- assertEquals( 0,
- memory.size() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple0,
- this.context,
- this.workingMemory );
- assertEquals( 0,
- memory.size() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // make sure the memory wasn't populated
- assertEquals( 0,
- memory.size() );
-
- // test no propagations
- assertEquals( 0,
- sink.getAsserted().size() );
- assertEquals( 0,
- sink.getModified().size() );
- assertEquals( 0,
- sink.getRetracted().size() );
- }
-
- public void testAssertedNotAllowedThenModifyAllowed() throws FactException {
- final MockEvalCondition eval = new MockEvalCondition( false );
-
- // Create a test node that always returns false
- final EvalConditionNode node = new EvalConditionNode( 1,
- new MockTupleSource( 15 ),
- eval );
-
- final MockTupleSink sink = new MockTupleSink();
- node.addTupleSink( sink );
-
- // Create the Tuple
- final DefaultFactHandle f0 = new DefaultFactHandle( 0,
- "stilton" );
- final ReteTuple tuple0 = new ReteTuple( f0 );
-
- // Tuple should fail and not propagate
- node.assertTuple( tuple0,
- this.context,
- this.workingMemory );
-
- // Create the Tuple
- final DefaultFactHandle f1 = new DefaultFactHandle( 1,
- "cheddar" );
- final ReteTuple tuple1 = new ReteTuple( f1 );
-
- // Tuple should fail and not propagate
- node.assertTuple( tuple1,
- this.context,
- this.workingMemory );
-
- // Check memory was not populated
- final LinkedList memory = (LinkedList) this.workingMemory.getNodeMemory( node );
-
- assertEquals( 0,
- memory.size() );
-
- eval.setIsAllowed( true );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple1,
- this.context,
- this.workingMemory );
- assertEquals( 1,
- memory.size() );
-
- // As this this wasn't asserted and remember before, will propagate as an assert
- assertEquals( 1,
- sink.getAsserted().size() );
-
- assertSame( tuple1,
- memory.getFirst() );
-
- // Now test that the fact is modified correctly
- node.modifyTuple( tuple0,
- this.context,
- this.workingMemory );
- assertEquals( 2,
- memory.size() );
-
- // As this this wasn't asserted and remember before, will propagate as an assert
- assertEquals( 2,
- sink.getAsserted().size() );
-
- assertSame( tuple1,
- memory.getFirst() );
-
- assertSame( tuple0,
- tuple1.getNext() );
-
- // test no propagations
- assertEquals( 0,
- sink.getModified().size() );
- assertEquals( 0,
- sink.getRetracted().size() );
- }
-
public void testUpdateWithMemory() throws FactException {
// If no child nodes have children then we need to re-process the left
// and right memories
@@ -561,7 +255,7 @@
// Creat the object source so we can detect the alphaNode telling it to
// propate its contents
- final MockTupleSource source = new MockTupleSource( 1 );
+ //final MockTupleSource source = new MockTupleSource( 1 );
/* Create a test node that always returns true */
final EvalConditionNode node = new EvalConditionNode( 1,
@@ -592,8 +286,9 @@
assertLength( 0,
sink2.getAsserted() );
- node.updateNewNode( workingMemory,
- this.context );
+ node.updateSink( sink2,
+ this.context,
+ workingMemory );
assertLength( 1,
sink2.getAsserted() );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -21,6 +21,7 @@
import java.util.List;
import org.drools.DroolsTestCase;
+import org.drools.RuleBaseConfiguration;
import org.drools.RuleBaseFactory;
import org.drools.common.DefaultBetaConstraints;
import org.drools.common.DefaultFactHandle;
@@ -59,11 +60,13 @@
this.tupleSource = new MockTupleSource( 4 );
this.objectSource = new MockObjectSource( 4 );
this.sink = new MockTupleSink();
+
+ RuleBaseConfiguration configuration = new RuleBaseConfiguration();
this.node = new JoinNode( 15,
this.tupleSource,
this.objectSource,
- new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint} ) );
+ new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint}, configuration ) );
this.node.addTupleSink( this.sink );
@@ -89,8 +92,8 @@
assertEquals( 15,
this.node.getId() );
- assertNull( objectSink );
- assertNull( tupleSink );
+ assertNotNull( objectSink );
+ assertNotNull( tupleSink );
this.node.attach();
@@ -357,8 +360,7 @@
this.node.retractObject( f0,
this.context,
this.workingMemory );
- // We still propagate all joins for a retract. Later we might apply tests first.
- assertLength( 1,
+ assertLength( 0,
this.sink.getRetracted() );
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/MockTupleSource.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -16,9 +16,6 @@
* limitations under the License.
*/
-import java.util.Collections;
-import java.util.List;
-
import org.drools.common.BaseNode;
import org.drools.common.InternalWorkingMemory;
import org.drools.spi.PropagationContext;
@@ -43,7 +40,7 @@
}
public int getAttached() {
- return this.attached;
+ return this.sink.getSinks().length;
}
public int getUdated() {
@@ -67,10 +64,4 @@
}
- public List getPropagatedTuples(final ReteooWorkingMemory workingMemory,
- final TupleSink sink) {
- // TODO Auto-generated method stub
- return Collections.EMPTY_LIST;
- }
-
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -23,11 +23,13 @@
import org.drools.Cheese;
import org.drools.DroolsTestCase;
import org.drools.FactException;
+import org.drools.RuleBaseConfiguration;
import org.drools.RuleBaseFactory;
import org.drools.common.DefaultBetaConstraints;
import org.drools.common.DefaultFactHandle;
import org.drools.common.PropagationContextImpl;
import org.drools.rule.Rule;
+import org.drools.spi.BetaNodeFieldConstraint;
import org.drools.spi.MockConstraint;
import org.drools.spi.PropagationContext;
@@ -56,11 +58,13 @@
this.workingMemory = new ReteooWorkingMemory( 1,
(ReteooRuleBase) RuleBaseFactory.newRuleBase() );
+ RuleBaseConfiguration configuration = new RuleBaseConfiguration();
+
// string1Declaration is bound to column 3
this.node = new NotNode( 15,
new MockTupleSource( 5 ),
new MockObjectSource( 8 ),
- new DefaultBetaConstraints( this.constraint ) );
+ new DefaultBetaConstraints( new BetaNodeFieldConstraint[] { this.constraint }, configuration ) );
this.sink = new MockTupleSink();
this.node.addTupleSink( this.sink );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ObjectTypeNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -43,7 +43,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
objectType,
- source );
+ source,
+ 3);
assertEquals( 1,
objectTypeNode.getId() );
@@ -78,7 +79,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( String.class ),
- source );
+ source,
+ 3 );
final MockObjectSink sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
@@ -112,7 +114,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( String.class ),
- new Rete() );
+ new Rete(),
+ 3);
final FactHashTable memory = (FactHashTable) workingMemory.getNodeMemory( objectTypeNode );
@@ -125,7 +128,8 @@
ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( String.class ),
- source );
+ source,
+ 3);
assertFalse( objectTypeNode.matches( new Object() ) );
assertFalse( objectTypeNode.matches( new Integer( 5 ) ) );
@@ -133,7 +137,8 @@
objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( Object.class ),
- source );
+ source,
+ 3);
assertTrue( objectTypeNode.matches( new Object() ) );
assertTrue( objectTypeNode.matches( new Integer( 5 ) ) );
@@ -154,7 +159,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( String.class ),
- source );
+ source,
+ 3);
final MockObjectSink sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
@@ -205,7 +211,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( String.class ),
- source );
+ source,
+ 3);
final MockObjectSink sink1 = new MockObjectSink();
objectTypeNode.addObjectSink( sink1 );
@@ -276,7 +283,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( Cheese.class,
shadowClass ),
- source );
+ source,
+ 3);
final MockObjectSink sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/PropertyChangeListenerTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -18,7 +18,8 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( State.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
@@ -31,13 +32,9 @@
assertEquals( 1,
sink.getAsserted().size() );
- assertEquals( 0,
- sink.getModified().size() );
a.setState( "stop" );
- assertEquals( 1,
- sink.getModified().size() );
}
public static class State {
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -28,13 +28,13 @@
import org.drools.base.ClassFieldExtractor;
import org.drools.base.ClassObjectType;
import org.drools.base.DroolsQuery;
+import org.drools.base.FieldFactory;
import org.drools.base.ValueType;
import org.drools.base.evaluators.Operator;
import org.drools.rule.LiteralConstraint;
import org.drools.rule.Query;
import org.drools.spi.Evaluator;
import org.drools.spi.FieldValue;
-import org.drools.spi.MockField;
public class QueryTerminalNodeTest extends TestCase {
public void testQueryTerminalNode() {
@@ -44,13 +44,14 @@
final ClassObjectType queryObjectType = new ClassObjectType( DroolsQuery.class );
final ObjectTypeNode queryObjectTypeNode = new ObjectTypeNode( 1,
queryObjectType,
- rete );
+ rete,
+ 3);
queryObjectTypeNode.attach();
ClassFieldExtractor extractor = new ClassFieldExtractor( DroolsQuery.class,
"name" );
- FieldValue field = new MockField( "query-1" );
+ FieldValue field = FieldFactory.getFieldValue( "query-1" );
final Evaluator evaluator = ValueType.STRING_TYPE.getEvaluator( Operator.EQUAL );
LiteralConstraint constraint = new LiteralConstraint( extractor,
@@ -69,13 +70,14 @@
final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
final ObjectTypeNode cheeseObjectTypeNode = new ObjectTypeNode( 4,
cheeseObjectType,
- rete );
+ rete,
+ 3);
cheeseObjectTypeNode.attach();
extractor = new ClassFieldExtractor( Cheese.class,
"type" );
- field = new MockField( "stilton" );
+ field = FieldFactory.getFieldValue( "stilton" );
constraint = new LiteralConstraint( extractor,
evaluator,
@@ -135,13 +137,13 @@
QueryResult result = results.get( 0 );
assertEquals( 1,
result.size() );
- assertSame( stilton1,
+ assertEquals( stilton2,
result.get( 0 ) );
result = results.get( 1 );
assertEquals( 1,
result.size() );
- assertSame( stilton2,
+ assertEquals( stilton1,
result.get( 0 ) );
int i = 0;
@@ -149,7 +151,7 @@
result = (QueryResult) it.next();
assertEquals( 1,
result.size() );
- if ( i == 0 ) {
+ if ( i == 1 ) {
assertSame( stilton1,
result.get( 0 ) );
} else {
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -47,12 +47,14 @@
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( Object.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
final ObjectTypeNode stringTypeNode = new ObjectTypeNode( 2,
new ClassObjectType( String.class ),
- rete );
+ rete,
+ 3);
stringTypeNode.attach();
final Field field = Rete.class.getDeclaredField( "objectTypeNodes" );
@@ -81,21 +83,24 @@
final Rete rete = ruleBase.getRete();
ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( List.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
MockObjectSink sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( Collection.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( ArrayList.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
sink = new MockObjectSink();
objectTypeNode.addObjectSink( sink );
@@ -136,7 +141,8 @@
final Rete rete = ruleBase.getRete();
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( List.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
final MockObjectSink sink1 = new MockObjectSink();
objectTypeNode.addObjectSink( sink1 );
@@ -185,7 +191,8 @@
final Rete rete = ruleBase.getRete();
final ObjectTypeNode objectTypeNode = new ObjectTypeNode( 1,
new ClassObjectType( List.class ),
- rete );
+ rete,
+ 3);
objectTypeNode.attach();
final MockObjectSink sink1 = new MockObjectSink();
objectTypeNode.addObjectSink( sink1 );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/OrTest.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -27,19 +27,19 @@
import org.drools.WorkingMemory;
import org.drools.base.ClassFieldExtractor;
import org.drools.base.ClassObjectType;
+import org.drools.base.FieldFactory;
import org.drools.base.ValueType;
import org.drools.base.evaluators.Operator;
import org.drools.examples.waltz.Edge;
import org.drools.examples.waltz.Stage;
-import org.drools.leaps.LeapsRuleBase;
import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.BetaNodeFieldConstraint;
import org.drools.spi.Consequence;
import org.drools.spi.ConsequenceException;
import org.drools.spi.Evaluator;
import org.drools.spi.FieldExtractor;
import org.drools.spi.FieldValue;
import org.drools.spi.KnowledgeHelper;
-import org.drools.spi.MockField;
import org.drools.spi.Tuple;
/**
@@ -70,44 +70,13 @@
super.setUp();
this.stageType = new ClassObjectType( Stage.class );
this.edgeType = new ClassObjectType( Edge.class );
- this.integerEqualEvaluator = ValueType.INTEGER_TYPE.getEvaluator( Operator.EQUAL );
- this.integerNotEqualEvaluator = ValueType.INTEGER_TYPE.getEvaluator( Operator.NOT_EQUAL );
+ this.integerEqualEvaluator = ValueType.PINTEGER_TYPE.getEvaluator( Operator.EQUAL );
+ this.integerNotEqualEvaluator = ValueType.PINTEGER_TYPE.getEvaluator( Operator.NOT_EQUAL );
this.pkg = new Package( "or" );
}
/*
*/
- public void testLeapsNeverGetsToConsequenceOrder() throws Exception {
-
- this.pkg.addRule( this.getNeverGetsToConsequenceRule() );
-
- final org.drools.leaps.LeapsRuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
- ruleBase.addPackage( this.pkg );
- final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
- workingMemory.assertObject( new Stage( Stage.LABELING ) );
- workingMemory.assertObject( new Edge( 1000,
- 1,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.assertObject( new Edge( 1000,
- 2,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.assertObject( new Edge( 5555,
- 3,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.fireAllRules();
- workingMemory.assertObject( new Stage( Stage.DETECT_JUNCTIONS ) );
-
- workingMemory.fireAllRules();
- }
-
- /*
- */
public void testReteooNeverGetsToConsequenceOrder() throws Exception {
this.pkg.addRule( this.getNeverGetsToConsequenceRule() );
@@ -139,37 +108,6 @@
/*
*/
- public void testLeapsWorkingButCanNotResolveOrObjectInConsequenceOrder() throws Exception {
-
- this.pkg.addRule( this.getWorkingButCanNotResolveOrObjectInConsequenceOrder() );
-
- final org.drools.leaps.LeapsRuleBase ruleBase = (LeapsRuleBase) RuleBaseFactory.newRuleBase( RuleBase.LEAPS );
- ruleBase.addPackage( this.pkg );
- final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
- workingMemory.assertObject( new Stage( Stage.LABELING ) );
- workingMemory.assertObject( new Edge( 1000,
- 1,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.assertObject( new Edge( 1000,
- 2,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.assertObject( new Edge( 5555,
- 3,
- false,
- Edge.NIL,
- Edge.NIL ) );
- workingMemory.fireAllRules();
- workingMemory.assertObject( new Stage( Stage.DETECT_JUNCTIONS ) );
-
- workingMemory.fireAllRules();
- }
-
- /*
- */
public void testReteooWorkingButCanNotResolveOrObjectInConsequenceOrder() throws Exception {
this.pkg.addRule( this.getWorkingButCanNotResolveOrObjectInConsequenceOrder() );
@@ -387,7 +325,7 @@
final int index = getIndex( clazz,
fieldName );
- final FieldValue field = new MockField( fieldValue );
+ final FieldValue field = FieldFactory.getFieldValue( fieldValue );
final FieldExtractor extractor = new ClassFieldExtractor( clazz,
fieldName );
@@ -397,7 +335,7 @@
field );
}
- private AlphaNodeFieldConstraint getBoundVariableConstraint(final Column column,
+ private BetaNodeFieldConstraint getBoundVariableConstraint(final Column column,
final String fieldName,
final Declaration declaration,
final Evaluator evaluator) throws IntrospectionException {
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/spi/MockConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/spi/MockConstraint.java 2006-10-31 21:39:15 UTC (rev 7256)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/spi/MockConstraint.java 2006-10-31 21:39:36 UTC (rev 7257)
@@ -17,6 +17,10 @@
*/
import org.drools.WorkingMemory;
+import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalWorkingMemory;
+import org.drools.reteoo.ReteTuple;
+import org.drools.rule.ContextEntry;
import org.drools.rule.Declaration;
public class MockConstraint
@@ -42,4 +46,37 @@
return this.declarations;
}
+ public ContextEntry getContextEntry() {
+ return new ContextEntry() {
+ private static final long serialVersionUID = -6597931500771088767L;
+ private ContextEntry next;
+
+ public ContextEntry getNext() {
+ return next;
+ }
+
+ public void setNext(ContextEntry entry) {
+ this.next = entry;
+ }
+
+ public void updateFromFactHandle(InternalWorkingMemory workingMemory,
+ InternalFactHandle handle) {
+ }
+
+ public void updateFromTuple(InternalWorkingMemory workingMemory,
+ ReteTuple tuple) {
+ }
+ };
+ }
+
+ public boolean isAllowedCachedLeft(ContextEntry context,
+ Object object) {
+ return this.isAllowed;
+ }
+
+ public boolean isAllowedCachedRight(ReteTuple tuple,
+ ContextEntry context) {
+ return this.isAllowed;
+ }
+
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list