コード例 #1
0
        public void ComplexGraphTest()
        {
            var map = new GraphMap <string, IGraphNode <string>, IGraphEdge <string> >()
            {
                new GraphNode <string>("Node1"),
                new GraphNode <string>("Node2"),
                new GraphNode <string>("Node3"),
                new GraphNode <string>("Node4"),

                new GraphEdge <string>("Node1", "Node2"),
                new GraphEdge <string>("Node2", "Node3"),
                new GraphEdge <string>("Node1", "Node4"),
            };

            IReadOnlyList <IGraphNode <string> > nodes = map.GetLinkedNodes("Node1");

            nodes.Should().NotBeNull();
            nodes.Count.Should().Be(3);
            nodes[0].Key.Should().Be("Node2");
            nodes[1].Key.Should().Be("Node4");
            nodes[2].Key.Should().Be("Node3");

            nodes = map.GetLinkedNodes("Node2");
            nodes.Should().NotBeNull();
            nodes.Count.Should().Be(1);
            nodes[0].Key.Should().Be("Node3");

            nodes = map.GetLinkedNodes("Node3");
            nodes.Should().NotBeNull();
            nodes.Count.Should().Be(0);

            nodes = map.GetLinkedNodes("Node4");
            nodes.Should().NotBeNull();
            nodes.Count.Should().Be(0);
        }
コード例 #2
0
        public void OneNodeTest()
        {
            var map = new GraphMap <string, IGraphNode <string>, IGraphEdge <string> >()
            {
                new GraphNode <string>("Node1"),
            };

            IReadOnlyList <IGraphNode <string> > nodes = map.GetLinkedNodes("Node1");

            nodes.Should().NotBeNull();
            nodes.Count.Should().Be(0);
        }