public void NodeViewShouldNotIncludeLinksNotMatchingPredicate() { // arrange var graph = new Graph(); var nodeA1 = graph.AddNode(new SampleNode("A1")); var nodeA2 = graph.AddNode(new SampleNode("A2")); var link1 = graph.AddLink(nodeA1, nodeA2, new SampleLink("1")); var link2 = graph.AddLink(nodeA1, nodeA2, new SampleLink("2")); // act var view = graph.PrepareView(x => x.Id.StartsWith("A"), x => ((SampleLink)x).Name != "1"); // assert var nodeA1View = view.Nodes.Single(x => x.Node == nodeA1); Assert.That(nodeA1View.OutboundLinks, Has.No.Member(link1)); }
public void ShouldFilterOutLinks() { // arrange var graph = new Graph(); var nodeA1 = graph.AddNode(new SampleNode("A1")); var nodeA2 = graph.AddNode(new SampleNode("A2")); var link1 = graph.AddLink(nodeA1, nodeA2, new SampleLink("1")); var link2 = graph.AddLink(nodeA1, nodeA2, new SampleLink("2")); // act var view = graph.PrepareView(x => true, x => (x is SampleLink) && ((SampleLink)x).Name == "1"); // assert Assert.That(view.Links, Has .Member(link1) .And.Not.Member(link2), "Nodes has not been filtered"); }
public void ShouldFilterOutNodes() { // arrange var graph = new Graph(); var nodeA1 = graph.AddNode(new SampleNode("A1")); var nodeA2 = graph.AddNode(new SampleNode("A2")); var nodeB1 = graph.AddNode(new SampleNode("B1")); var nodeB2 = graph.AddNode(new SampleNode("B2")); // act var view = graph.PrepareView(x => x.Id.StartsWith("A"), x => true); // assert Assert.That(view.Nodes.Select(x => x.Node), Has .Member(nodeA1) .And.Member(nodeA2) .And.Not.Member(nodeB1) .And.Not.Member(nodeB2), "Nodes has not been filtered"); }
public void ShouldNotIncludeLinksWithEndNotMatchingPredicate() { // arrange var graph = new Graph(); var nodeA1 = graph.AddNode(new SampleNode("A1")); var nodeA2 = graph.AddNode(new SampleNode("A2")); var nodeB1 = graph.AddNode(new SampleNode("B1")); var nodeB2 = graph.AddNode(new SampleNode("B2")); var link1 = graph.AddLink(nodeA1, nodeB2, new SampleLink("1")); var link2 = graph.AddLink(nodeB1, nodeA2, new SampleLink("2")); var link3 = graph.AddLink(nodeA1, nodeA2, new SampleLink("3")); // act var view = graph.PrepareView(x => x.Id.StartsWith("A"), x => true); // assert Assert.That(view.Links, Has .No.Member(link1) .And.No.Member(link2) .And.Member(link3)); }