Ejemplo n.º 1
0
        public void EqualsTest()
        {
            var graph1 = new UndirectedGraph();
            var n1_0   = new Node(0, 0.ToString());
            var n1_1   = new Node(1, 1.ToString());

            graph1.TryAddNode(n1_0);
            graph1.TryAddNode(n1_1);
            var graph2 = new UndirectedGraph();
            var n2_0   = new Node(0, 0.ToString());
            var n2_1   = new Node(1, 1.ToString());

            graph2.TryAddNode(n2_0);
            graph2.TryAddNode(n2_1);
            Assert.AreEqual(true, graph1.Equals(graph2));
            Assert.AreEqual(true, graph2.Equals(graph1));
            graph1.TryAddEdge(n1_0, n1_1);
            Assert.AreEqual(false, graph1.Equals(graph2));
            Assert.AreEqual(false, graph2.Equals(graph1));
            graph2.TryAddEdge(n2_0, n2_1);
            Assert.AreEqual(true, graph1.Equals(graph2));
            Assert.AreEqual(true, graph2.Equals(graph1));
            var graph3 = new UndirectedGraph();
            var n3_0   = new Node(0, 0.ToString());
            var n3_1   = new Node(1, 1.ToString());

            graph3.TryAddNode(n3_0);
        }
Ejemplo n.º 2
0
        public void EqualsTest2()
        {
            var adjMat1 = new AdjacencyMatrix(new[, ]
            {
                { false, true, false, false },
                { true, false, true, true },
                { false, true, false, false },
                { false, true, false, false }
            });
            var graph1 = new UndirectedGraph(adjMat1);

            var adjMat2 = new AdjacencyMatrix(new[, ]
            {
                { false, true, false, true },
                { true, false, true, true },
                { false, true, false, false },
                { true, true, false, false }
            });
            var graph2 = new UndirectedGraph(adjMat2);

            Assert.AreEqual(false, graph1.Equals(graph2));

            var adjMat3 = new AdjacencyMatrix(new[, ]
            {
                { false, false, false, true },
                { false, false, true, true },
                { false, true, false, false },
                { true, true, false, false }
            });
            var graph3 = new UndirectedGraph(adjMat3);

            Assert.AreEqual(false, graph1.Equals(graph3));
            var graph4 = new UndirectedGraph();
            var graph5 = new UndirectedGraph();
            var n0     = new Node(0, 0.ToString());
            var n1     = new Node(1, 1.ToString());
            var n2     = new Node(2, 2.ToString());
            var n3     = new Node(3, 3.ToString());

            graph4.TryAddNode(n2);
            graph4.TryAddNode(n1);
            graph4.TryAddNode(n0);
            graph4.TryAddNode(n3);
            graph5.TryAddNode(n0);
            graph5.TryAddNode(n1);
            graph5.TryAddNode(n2);
            graph5.TryAddNode(n3);
            Assert.AreEqual(true, graph4.Equals(graph5));
            graph4.TryAddEdge(n1, n2);
            graph4.TryAddEdge(n3, n1);
            graph4.TryAddEdge(n1, n0);
            Assert.AreEqual(true, graph1.Equals(graph4));
            graph5.TryAddEdge(n0, n1);
            graph5.TryAddEdge(n2, n1);
            graph5.TryAddEdge(n1, n3);
            Assert.AreEqual(true, graph4.Equals(graph5));
        }