final ObjectTypeNode objectTypeNode = new ObjectTypeNode(1,
this.entryPoint,
new ClassObjectType(String.class),
buildContext);
final MockObjectSink sink1 = new MockObjectSink();
objectTypeNode.addObjectSink(sink1);
final Object string1 = "cheese";
final Object string2 = "bread";
final DefaultFactHandle handle1 = new DefaultFactHandle(1,
string1);
final DefaultFactHandle handle2 = new DefaultFactHandle(2,
string2);
objectTypeNode.assertObject(handle1,
context,
workingMemory);
objectTypeNode.assertObject(handle2,
context,
workingMemory);
assertEquals(2,
sink1.getAsserted().size());
final MockObjectSink sink2 = new MockObjectSink();
objectTypeNode.addObjectSink(sink2);
assertEquals(0,
sink2.getAsserted().size());
objectTypeNode.updateSink(sink2,
new PhreakPropagationContext(),
workingMemory);
assertEquals(2,
sink2.getAsserted().size());
final Object string3 = "water";
final DefaultFactHandle handle3 = new DefaultFactHandle(3,
string3);
objectTypeNode.assertObject(handle3,
context,
workingMemory);
assertEquals(3,
sink1.getAsserted().size());
assertEquals(3,
sink2.getAsserted().size());
}