예제 #1
0
        public void EdgeListGraphTestContainsEquateable()
        {
            var g = new EdgeListGraph <int, EquatableEdge <int> >(true, false);

            g.AddEdge(new EquatableEdge <int>(0, 1));
            Assert.IsTrue(g.ContainsEdge(new EquatableEdge <int>(0, 1)));
            Assert.IsFalse(g.ContainsEdge(new EquatableEdge <int>(2, 1)));
            Assert.IsTrue(g.ContainsVertex(0));
            Assert.IsTrue(g.ContainsVertex(1));
            Assert.IsFalse(g.ContainsVertex(2));
        }
예제 #2
0
        public void EdgeListGraphTestContains()
        {
            var g = new EdgeListGraph <int, IEdge <int> >(true, false);
            var e = new Edge <int>(0, 1);

            g.AddEdge(e);
            Assert.IsTrue(g.ContainsEdge(e));
            Assert.IsTrue(g.ContainsEdge(new Edge <int>(0, 1)));
            Assert.IsFalse(g.ContainsEdge(new Edge <int>(2, 1)));
            Assert.IsTrue(g.ContainsVertex(0));
            Assert.IsTrue(g.ContainsVertex(1));
            Assert.IsFalse(g.ContainsVertex(2));
        }
        protected static void ContainsVertex_OnlyEdges_Test(
            EdgeListGraph <TestVertex, Edge <TestVertex> > graph)
        {
            var vertex1        = new TestVertex("1");
            var toVertex1      = new TestVertex("target 1");
            var vertex2        = new TestVertex("2");
            var toVertex2      = new TestVertex("target 2");
            var otherVertex1   = new TestVertex("1");
            var toOtherVertex1 = new TestVertex("target 1");

            Assert.IsFalse(graph.ContainsVertex(vertex1));
            Assert.IsFalse(graph.ContainsVertex(vertex2));
            Assert.IsFalse(graph.ContainsVertex(otherVertex1));

            graph.AddEdge(new Edge <TestVertex>(vertex1, toVertex1));
            Assert.IsTrue(graph.ContainsVertex(vertex1));
            Assert.IsFalse(graph.ContainsVertex(otherVertex1));

            graph.AddEdge(new Edge <TestVertex>(vertex2, toVertex2));
            Assert.IsTrue(graph.ContainsVertex(vertex2));

            graph.AddEdge(new Edge <TestVertex>(otherVertex1, toOtherVertex1));
            Assert.IsTrue(graph.ContainsVertex(vertex1));
            Assert.IsTrue(graph.ContainsVertex(otherVertex1));
        }