public void ApplyConventions_Edge_Should_Apply_Conventions() { var conventionTracker = new ConventionTracker(); var convention = MockRepository.GenerateMock<IEdgeConvention>(); var fromNode = new GraphNode("a"); var toNode = new GraphNode("b"); var edgeInfo = new EdgeInfo(new NodeInfo(fromNode.Name, null), new NodeInfo(toNode.Name, null), null); convention.Expect(x => x.ShouldApply(edgeInfo)) .IgnoreArguments() .Constraints(Is.Matching<IEdgeInfo>(x => x.FromNode.Name == "a" && x.ToNode.Name == "b")) .Return(true) .Repeat.Once(); convention.Expect(x => x.Apply(null, null)).IgnoreArguments() .Constraints( Is.Matching<IEdgeInfo>(x => x.Tag == edgeInfo.Tag && x.FromNode.Name == edgeInfo.FromNode.Name && x.ToNode.Name == edgeInfo.ToNode.Name ), Is.Matching<IEdgeExpression>(x => x != null)) .Repeat.Once(); conventionTracker.AddConvention(convention); conventionTracker.ApplyConventions(new DirectedEdge(new NodeTarget(fromNode), new NodeTarget(toNode))); convention.VerifyAllExpectations(); }
public void Setup_Should_Apply_Expression_And_Return_Instance() { var tracker = new ConventionTracker(); Assert.AreSame(new ConventionCollectionModifiersExpression<ConventionCollectionModifiersExpressionTests>( this, tracker).Setup(x => x.AddType<TestNodeConvention>()), this); Assert.AreEqual(tracker.NodeConventions.Count, 1); }
public void AddInstance_Should_Create_Instance_And_Add_It_To_The_Tracker() { var tracker = new ConventionTracker(); var expression = new ConventionCollectionSetupExpression(tracker); Assert.AreEqual(tracker.NodeConventions.Count, 0); Assert.AreEqual(expression.AddInstance(new TestNodeConvention()), expression); Assert.AreEqual(tracker.NodeConventions.Count, 1); Assert.AreEqual(tracker.EdgeConventions.Count, 0); Assert.AreEqual(expression.AddInstance(new TestEdgeConvention()), expression); Assert.AreEqual(tracker.EdgeConventions.Count, 1); }
public void ApplyConventions_Edge_Should_Not_Apply_Conventions_When_Should_Apply_Is_False() { var conventionTracker = new ConventionTracker(); var convention = MockRepository.GenerateMock<IEdgeConvention>(); var fromNode = new GraphNode("a"); var toNode = new GraphNode("b"); var edgeInfo = new EdgeInfo(new NodeInfo(fromNode.Name, null), new NodeInfo(toNode.Name, null), null); convention.Expect(x => x.ShouldApply(edgeInfo)) .IgnoreArguments() .Return(false) .Repeat.Once(); convention.Expect(x => x.Apply(null, null)) .IgnoreArguments() .Repeat.Never(); conventionTracker.AddConvention(convention); conventionTracker.ApplyConventions(new DirectedEdge(new NodeTarget(fromNode), new NodeTarget(toNode))); convention.VerifyAllExpectations(); }
public void ApplyConventions_Node_Should_Not_Apply_Conventions_When_Should_Apply_Is_False() { var conventionTracker = new ConventionTracker(); var convention = MockRepository.GenerateMock<INodeConvention>(); var graphNode = new GraphNode("a"); var nodeInfo = new NodeInfo(graphNode.Name, graphNode.Tag); convention.Expect(x => x.ShouldApply(nodeInfo)) .IgnoreArguments() .Return(false) .Repeat.Once(); convention.Expect(x => x.Apply(null, null)) .IgnoreArguments() .Repeat.Never(); conventionTracker.AddConvention(convention); conventionTracker.ApplyConventions(graphNode); convention.VerifyAllExpectations(); }
public void ApplyConventions_Node_Should_Apply_Conventions() { var conventionTracker = new ConventionTracker(); var convention = MockRepository.GenerateMock<INodeConvention>(); var graphNode = new GraphNode("a"); var nodeInfo = new NodeInfo(graphNode.Name, graphNode.Tag); convention.Expect(x => x.ShouldApply(nodeInfo)) .IgnoreArguments() .Constraints(Is.Matching<INodeInfo>(x => x.Name == "a")) .Return(true) .Repeat.Once(); convention.Expect(x => x.Apply(null, null)).IgnoreArguments() .Constraints(Is.Matching<INodeInfo>(x => x.Name == graphNode.Name && x.Tag == graphNode.Tag), Is.Matching<INodeExpression>(x => x != null)) .Repeat.Once(); conventionTracker.AddConvention(convention); conventionTracker.ApplyConventions(graphNode); convention.VerifyAllExpectations(); }
public void AddInstance_Should_Throw_For_Conventions_Other_Than_Edge_And_Node() { var tracker = new ConventionTracker(); var expression = new ConventionCollectionSetupExpression(tracker); expression.AddInstance(new DummyConvention()); }