1 package org.drools.reteoo.impl; 2 3 import org.drools.AssertionException; 4 import org.drools.reteoo.MockTupleSource; 5 import org.drools.rule.Declaration; 6 import org.drools.semantics.java.ClassObjectType; 7 8 import org.drools.spi.InstrumentedExtractor; 9 10 import junit.framework.TestCase; 11 12 import java.util.Set; 13 import java.util.List; 14 15 public class ExtractionNodeImplTest extends TestCase 16 { 17 public ExtractionNodeImplTest(String name) 18 { 19 super( name ); 20 } 21 22 public void setUp() 23 { 24 25 } 26 27 public void tearDown() 28 { 29 30 } 31 32 public void testGetTupleDeclarations() 33 { 34 Declaration stringDecl = new Declaration( new ClassObjectType( String.class ), 35 "string" ); 36 37 Declaration objectDecl = new Declaration( new ClassObjectType( Object.class), 38 "object" ); 39 40 MockTupleSource source = new MockTupleSource(); 41 42 source.addTupleDeclaration( stringDecl ); 43 44 ExtractionNodeImpl extractNode = new ExtractionNodeImpl( source, 45 objectDecl, 46 null ); 47 48 Set decls = extractNode.getTupleDeclarations(); 49 50 assertEquals( 2, 51 decls.size() ); 52 53 assertTrue( decls.contains( objectDecl ) ); 54 assertTrue( decls.contains( stringDecl ) ); 55 } 56 57 public void testAssertTuple() 58 { 59 Declaration stringDecl = new Declaration( new ClassObjectType( String.class ), 60 "string" ); 61 62 Declaration objectDecl = new Declaration( new ClassObjectType( Object.class), 63 "object" ); 64 65 MockTupleSource source = new MockTupleSource(); 66 67 source.addTupleDeclaration( objectDecl ); 68 69 ExtractionNodeImpl extractNode = new ExtractionNodeImpl( source, 70 stringDecl, 71 new InstrumentedExtractor( "cheese" ) ); 72 73 InstrumentedTupleSink sink = new InstrumentedTupleSink(); 74 75 extractNode.setTupleSink( sink ); 76 77 ReteTuple tuple = new ReteTuple(); 78 79 try 80 { 81 extractNode.assertTuple( tuple, 82 null ); 83 84 List assertedTuples = sink.getAssertedTuples(); 85 86 assertEquals( 1, 87 assertedTuples.size() ); 88 89 ReteTuple assertedTuple = (ReteTuple) assertedTuples.get( 0 ); 90 91 Object value = assertedTuple.get( stringDecl ); 92 93 assertNotNull( value ); 94 95 assertEquals( "cheese", 96 value ); 97 } 98 catch (AssertionException e) 99 { 100 fail( e.toString() ); 101 } 102 } 103 } 104

This page was automatically generated by Maven