public void Only_those_that_are_matched_should_be_called() { var junction = new JoinNode <Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNodeA = new AlphaNode <Customer>(); alphaNodeA.AddSuccessor(junction); var joinJunction = new JoinNode <Customer>(alphaNodeA); var alphaNodeB = new AlphaNode <Customer>(); alphaNodeB.AddSuccessor(joinJunction); var actionNode = new ActionNode <Customer>(x => _secondaryCalled.Complete(x.Element.Object)); var joinJunction2 = new JoinNode <Customer>(alphaNodeA); joinJunction2.AddSuccessor(actionNode); var alphaNodeC = new AlphaNode <Customer>(); alphaNodeC.AddSuccessor(joinJunction2); var tree = new TypeNode <Customer>(); var isPreferred = new ConditionNode <Customer>(x => x.Preferred); isPreferred.AddSuccessor(alphaNodeA); tree.AddSuccessor(isPreferred); tree.AddSuccessor(alphaNodeB); var isActive = new ConditionNode <Customer>(x => x.Active); isActive.AddSuccessor(alphaNodeC); tree.AddSuccessor(isActive); var visitor = new StringNodeVisitor(); tree.Visit(visitor); Trace.WriteLine(visitor.Result); tree.Activate(_context); _session.Run(); _primaryCalled.IsCompleted.ShouldBeTrue(); _secondaryCalled.IsCompleted.ShouldBeFalse(); }
public void One_more_level_of_indirection() { var junction = new JoinNode<Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNode = new AlphaNode<Customer>(); alphaNode.AddSuccessor(junction); alphaNode.Activate(_context); _session.Run(); _primaryCalled.IsCompleted.ShouldBeTrue(); }
public void One_more_level_of_indirection() { var junction = new JoinNode <Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNode = new AlphaNode <Customer>(); alphaNode.AddSuccessor(junction); alphaNode.Activate(_context); _session.Run(); _primaryCalled.IsCompleted.ShouldBeTrue(); }
public void Only_those_that_are_matched_should_be_called() { var junction = new JoinNode<Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNodeA = new AlphaNode<Customer>(); alphaNodeA.AddSuccessor(junction); var joinJunction = new JoinNode<Customer>(alphaNodeA); var alphaNodeB = new AlphaNode<Customer>(); alphaNodeB.AddSuccessor(joinJunction); var actionNode = new ActionNode<Customer>(x => _secondaryCalled.Complete(x.Element.Object)); var joinJunction2 = new JoinNode<Customer>(alphaNodeA); joinJunction2.AddSuccessor(actionNode); var alphaNodeC = new AlphaNode<Customer>(); alphaNodeC.AddSuccessor(joinJunction2); var tree = new TypeNode<Customer>(); var isPreferred = new ConditionNode<Customer>(x => x.Preferred); isPreferred.AddSuccessor(alphaNodeA); tree.AddSuccessor(isPreferred); tree.AddSuccessor(alphaNodeB); var isActive = new ConditionNode<Customer>(x => x.Active); isActive.AddSuccessor(alphaNodeC); tree.AddSuccessor(isActive); var visitor = new StringNodeVisitor(); tree.Visit(visitor); Trace.WriteLine(visitor.Result); tree.Activate(_context); _session.Run(); _primaryCalled.IsCompleted.ShouldBeTrue(); _secondaryCalled.IsCompleted.ShouldBeFalse(); }
public void Pulling_an_element_through_two_memories_should_merge_properly() { var junction = new JoinNode <Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNodeA = new AlphaNode <Customer>(); alphaNodeA.AddSuccessor(junction); var joinJunction = new JoinNode <Customer>(alphaNodeA); var alphaNodeB = new AlphaNode <Customer>(); alphaNodeB.AddSuccessor(joinJunction); alphaNodeA.Activate(_context); alphaNodeB.Activate(_context); _session.Run(); }
public void Pulling_an_element_through_two_memories_should_merge_properly() { var junction = new JoinNode<Customer>(_constantNode); junction.AddSuccessor(_actionNode); var alphaNodeA = new AlphaNode<Customer>(); alphaNodeA.AddSuccessor(junction); var joinJunction = new JoinNode<Customer>(alphaNodeA); var alphaNodeB = new AlphaNode<Customer>(); alphaNodeB.AddSuccessor(joinJunction); alphaNodeA.Activate(_context); alphaNodeB.Activate(_context); _session.Run(); }