Esempio n. 1
0
        public void DirectedGraphConnectedness()
        {
            var nodes = new List <GraphNode <int> >()
            {
                new GraphNode <int>(0),
                new GraphNode <int>(1),
                new GraphNode <int>(2)
            };

            var edges = new List <DirectedEdge <int> >()
            {
                new DirectedEdge <int>(nodes[1], nodes[2])
            };

            var graph = new DirectedGraph <int>(nodes, edges);

            Assert.False(GraphProperties <int> .InSameConnectedComponent(graph, new List <GraphNode <int> >()
            {
                nodes[0], nodes[1], nodes[2]
            }));
        }
Esempio n. 2
0
        public void DirectedGraph_oneComponent()
        {
            var nodeList = new List <GraphNode <int> >()
            {
                new GraphNode <int>(0),
                new GraphNode <int>(1),
                new GraphNode <int>(2)
            };

            var edges = new List <DirectedEdge <int> >()
            {
                new DirectedEdge <int>(nodeList[0], nodeList[1]),
                new DirectedEdge <int>(nodeList[1], nodeList[2]),
                new DirectedEdge <int>(nodeList[2], nodeList[0])
            };

            var graph = new DirectedGraph <int>(nodeList, edges);

            Assert.True(GraphProperties <int> .InSameConnectedComponent(graph, new List <GraphNode <int> >()
            {
                nodeList[1], nodeList[2]
            }));
        }