assertSame( sm.getFirst(), b1Mem.getSegmentMemory()); assertEquals( 3, b1Mem.getLeftTupleMemory().size() ); assertEquals( 1, b1Mem.getRightTupleMemory().size() ); assertSame( b2Smem, b2Mem.getSegmentMemory()); assertEquals( 3, b2Mem.getLeftTupleMemory().size() ); assertEquals( 1, b2Mem.getRightTupleMemory().size() ); assertEquals(6, list.size() ); assertSame( b1Mem.getSegmentMemory(), c1Mem.getSegmentMemory() ); assertNotSame(b1Mem.getSegmentMemory(), b2Mem.getSegmentMemory()); assertEquals( 12, countNodeMemories(wm.getNodeMemories())); assertSame( sm, b1Mem.getSegmentMemory()); assertSame( sm, c1Mem.getSegmentMemory()); assertNull(sm.getFirst()); assertEquals( 3, b1Mem.getLeftTupleMemory().size() ); assertEquals( 1, b1Mem.getRightTupleMemory().size() ); assertSame( b2Smem, b2Mem.getSegmentMemory());
assertEquals( 2, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 1, bm.getSegmentMemory().getSegmentPosMaskBit() ); list = bm.getSegmentMemory().getPathMemories(); assertEquals( 3, list.size() ); assertTrue( list.contains( rtn1Rs ) ); assertEquals( 4, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 1, bm.getSegmentMemory().getSegmentPosMaskBit() ); list = bm.getSegmentMemory().getPathMemories(); assertEquals( 3, list.size() ); assertTrue( list.contains( rtn1Rs ) ); assertEquals( 8, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 1, bm.getSegmentMemory().getSegmentPosMaskBit() ); list = bm.getSegmentMemory().getPathMemories(); assertEquals( 3, list.size() ); assertTrue( list.contains( rtn1Rs ) ); assertEquals( 1, bm.getNodePosMaskBit() ); assertEquals( 3, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 2, bm.getSegmentMemory().getSegmentPosMaskBit() ); list = bm.getSegmentMemory().getPathMemories(); assertEquals( 2, list.size() ); assertTrue( list.contains( rtn2Rs ) ); assertEquals( 2, bm.getNodePosMaskBit() );
TupleIndexHashTable tupleHashTable = (TupleIndexHashTable) betaMemory.getLeftTupleMemory(); assertTrue( tupleHashTable.isIndexed() ); Index index = tupleHashTable.getIndex(); TupleIndexHashTable factHashTable = (TupleIndexHashTable) betaMemory.getRightTupleMemory(); assertTrue( factHashTable.isIndexed() ); index = factHashTable.getIndex(); TupleList tupleHashTable = (TupleList) betaMemory.getLeftTupleMemory(); assertFalse( tupleHashTable.isIndexed() ); TupleList factHashTable = (TupleList) betaMemory.getRightTupleMemory(); assertFalse( factHashTable.isIndexed() );
public void equalsLeftMemory(List<LeftTuple> leftTuples) { TupleMemory ltm = bm.getLeftTupleMemory(); int length = 0; for ( LeftTuple expectedLeftTuple : leftTuples ) { FastIterator it = betaNode.getLeftIterator( ltm ); Tuple actualLeftTuple = null; for ( actualLeftTuple = BetaNode.getFirstTuple( ltm, it ); actualLeftTuple != null; actualLeftTuple = (LeftTuple) it.next( actualLeftTuple ) ) { if ( expectedLeftTuple.equals( actualLeftTuple ) ) { length++; break; } } if ( actualLeftTuple == null ) { fail( "Could not find LeftTuple: " + expectedLeftTuple ); } } if ( leftTuples.size() != ltm.size() ) { fail( "LeftTuple memory size did not match: " + length ); } }
private static BetaMemory createSegmentMemory(BetaNode node, InternalWorkingMemory wm) { BetaMemory betaMemory = (BetaMemory) wm.getNodeMemory( node ); if ( betaMemory.getSegmentMemory() == null ) { SegmentUtilities.createSegmentMemory( node, wm ); } return betaMemory; }
public void equalsRightMemory(List<RightTuple> rightTuples) { TupleMemory rtm = bm.getRightTupleMemory(); int length = 0; for ( RightTuple expectedRightTuple : rightTuples ) { FastIterator it = betaNode.getRightIterator( rtm ); Tuple actualRightTuple = null; for ( actualRightTuple = BetaNode.getFirstTuple( rtm, it ); actualRightTuple != null; actualRightTuple = (RightTuple) it.next( actualRightTuple ) ) { if ( expectedRightTuple.equals( actualRightTuple ) ) { length++; break; } } if ( actualRightTuple == null ) { fail( "Could not find RightTuple: " + expectedRightTuple ); } } if ( rightTuples.size() != rtm.size() ) { fail( "RightTuple memory size did not match: " + length ); } }
assertEquals( bm.getSegmentMemory(), smem.getNext() ); assertEquals(bSmem, bm.getRiaRuleMemory().getSegmentMemory() ); // check subnetwork ref was made
private void setupNotNode(String operator) { buildContext = createContext(); notNode = (NotNode) BetaNodeBuilder.create( NodeTypeEnums.NotNode, buildContext ) .setLeftType( A.class ) .setBinding( "object", "$object" ) .setRightType( B.class ) .setConstraint( "object", operator, "$object" ).build(); sinkNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ).build(); notNode.addTupleSink( sinkNode ); wm = ((StatefulKnowledgeSessionImpl)buildContext.getKnowledgeBase().newKieSession()); bm =(BetaMemory) wm.getNodeMemory( notNode ); BetaMemory bm1 =(BetaMemory) wm.getNodeMemory( sinkNode ); SegmentMemory smem = new SegmentMemory( notNode ) ; bm.setSegmentMemory( smem ); SegmentMemory childSmem = new SegmentMemory( sinkNode ) ; bm1.setSegmentMemory( childSmem ); smem.add( childSmem ); }
assertNotNull( bmem.getStagedRightTuples().getInsertFirst() ); assertNotNull( bmem.getStagedRightTuples().getInsertFirst().getStagedNext() ); assertNotNull( bmem.getStagedRightTuples().getInsertFirst().getStagedNext().getStagedNext() ); assertNull( bmem.getStagedRightTuples().getInsertFirst().getStagedNext().getStagedNext().getStagedNext() ); assertNull( bmem.getStagedRightTuples().getInsertFirst() ); assertNull( cmem.getStagedRightTuples().getInsertFirst() );
assertEquals( 1, bMem.getLeftTupleMemory().size() ); assertEquals( 1, bMem.getRightTupleMemory().size() ); assertEquals( 1, eMem.getLeftTupleMemory().size() ); assertEquals( 1, eMem.getRightTupleMemory().size() );
public List<LeftTuple> getLeftTuples(Object... objects) { BetaNode node = scenario.getBetaNode(); BetaMemory bm = scenario.getBm(); TupleMemory ltm = bm.getLeftTupleMemory(); InternalWorkingMemory wm = scenario.getWorkingMemory(); if ( objects == null ) { objects = new Object[0]; } List<LeftTuple> list = new ArrayList<LeftTuple>(); for ( Object object : objects ) { InternalFactHandle fh = (InternalFactHandle) wm.insert( object ); LeftTuple expectedLeftTuple = node.createLeftTuple( fh, node, true ); expectedLeftTuple.setPropagationContext( new PhreakPropagationContext() ); list.add( expectedLeftTuple ); } scenario.setTestLeftMemory( true ); return list; }
private static BetaMemory createSegmentMemory(BetaNode node, InternalWorkingMemory wm) { BetaMemory betaMemory = (BetaMemory) wm.getNodeMemory( node ); if ( betaMemory.getSegmentMemory() == null ) { SegmentUtilities.createSegmentMemory( node, wm ); } return betaMemory; }
public List<RightTuple> getRightTuples(Object... objects) { BetaNode node = scenario.getBetaNode(); BetaMemory bm = scenario.getBm(); TupleMemory rtm = bm.getRightTupleMemory(); InternalWorkingMemory wm = scenario.getWorkingMemory(); if ( objects == null ) { objects = new Object[0]; } List<RightTuple> rightTuples = new ArrayList<RightTuple>(); for ( Object object : objects ) { InternalFactHandle fh = (InternalFactHandle) wm.insert( object ); RightTuple expectedRightTuple = new RightTupleImpl( fh, node ); //node.createLeftTuple( fh, node, true ); expectedRightTuple.setPropagationContext( new PhreakPropagationContext() ); rightTuples.add( expectedRightTuple ); } scenario.setTestRightMemory( true ); return rightTuples; }
public void setupJoinNode() { buildContext = createContext(); joinNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ) .setLeftType( A.class ) .setBinding( "object", "$object" ) .setRightType( B.class ) .setConstraint( "object", "!=", "$object" ).build(); sinkNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ).build(); joinNode.addTupleSink( sinkNode ); wm = ((StatefulKnowledgeSessionImpl)buildContext.getKnowledgeBase().newKieSession()); bm =(BetaMemory) wm.getNodeMemory( joinNode ); bm0 =(BetaMemory) wm.getNodeMemory( sinkNode ); smem = new SegmentMemory( joinNode ) ; bm.setSegmentMemory( smem ); smem0 = new SegmentMemory( sinkNode ) ; bm0.setSegmentMemory( smem0 ); smem.add( smem0 ); }
InternalWorkingMemory wm = (InternalWorkingMemory) ksession; BetaMemory memory = (BetaMemory) wm.getNodeMemory( joinNode ); TupleSets<RightTuple> stagedRightTuples = memory.getStagedRightTuples(); assertNull( stagedRightTuples.getDeleteFirst() ); assertNull( stagedRightTuples.getInsertFirst() );
assertSame( sm.getFirst(), c1Mem.getSegmentMemory()); assertEquals( 3, c1Mem.getLeftTupleMemory().size() ); assertEquals( 1, c1Mem.getRightTupleMemory().size() ); assertSame( c2Smem, c2Mem.getSegmentMemory()); assertEquals( 3, c2Mem.getLeftTupleMemory().size() ); assertEquals( 1, c2Mem.getRightTupleMemory().size() ); assertEquals(6, list.size() ); assertSame( sm, c1Mem.getSegmentMemory()); // c1SMem repoints back to original Smem
this.memory.getLeftTupleMemory().size() ); assertEquals( 0, this.memory.getRightTupleMemory().size() ); this.workingMemory ); assertEquals( 2, this.memory.getLeftTupleMemory().size() ); Tuple leftTuple = ( (TupleList) this.memory.getLeftTupleMemory() ).getFirst();
assertNull(bm.getSegmentMemory()); assertEquals( 1, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 2, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 4, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 8, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertNull( bm.getSegmentMemory() ); assertEquals( 1, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 2, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals( 4, bm.getNodePosMaskBit() ); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertEquals(8, bm.getNodePosMaskBit()); assertEquals( 15, bm.getSegmentMemory().getAllLinkedMaskTest() ); assertNull(bm.getSegmentMemory());
final TupleMemory tupleMemory = betaMemory.getLeftTupleMemory(); Assertions.assertThat(betaMemory.getLeftTupleMemory().size()).isEqualTo(2); Iterator<LeftTuple> it = tupleMemory.iterator(); for ( LeftTuple next = it.next(); next != null; next = it.next() ) { Assertions.assertThat(betaMemory.getLeftTupleMemory().size()).isEqualTo(1); it = tupleMemory.iterator(); for ( LeftTuple next = it.next(); next != null; next = it.next() ) {
@Test public void testAllLinkedInWithJoinNodesOnly() { setUp( JOIN_NODE ); assertEquals( JoinNode.class, n3.getClass() ); // make sure it created JoinNodes KieBaseConfiguration kconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); InternalKnowledgeBase kBase = (InternalKnowledgeBase) KnowledgeBaseFactory.newKnowledgeBase(kconf); StatefulKnowledgeSessionImpl ksession = (StatefulKnowledgeSessionImpl)kBase.newKieSession(); DefaultFactHandle f1 = (DefaultFactHandle) ksession.insert( "test1" ); n3.assertObject( f1, context, ksession ); BetaMemory bm = (BetaMemory) ksession.getNodeMemory( n3 ); assertFalse( bm.getSegmentMemory().isSegmentLinked() ); n4.assertObject( f1, context, ksession ); assertFalse( bm.getSegmentMemory().isSegmentLinked() ); n5.assertObject( f1, context, ksession ); assertFalse( bm.getSegmentMemory().isSegmentLinked() ); n6.assertObject( f1, context, ksession ); assertTrue( bm.getSegmentMemory().isSegmentLinked() ); // only after all 4 nodes are populated, is the segment linked in }