示例#1
0
        public void Highlight_Throws()
        {
            var graph      = new BidirectionalGraph <TestVertex, Edge <TestVertex> >();
            var controller = new TestHighlightController <TestVertex>(graph);
            var algorithm  = new SimpleHighlightAlgorithm <TestVertex, Edge <TestVertex>, BidirectionalGraph <TestVertex, Edge <TestVertex> > >(controller, null);

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => algorithm.OnVertexHighlighting(null));
            Assert.Throws <ArgumentNullException>(() => algorithm.OnVertexHighlightRemoving(null));
            Assert.Throws <ArgumentNullException>(() => algorithm.OnEdgeHighlighting(null));
            Assert.Throws <ArgumentNullException>(() => algorithm.OnEdgeHighlightRemoving(null));
            // ReSharper restore AssignNullToNotNullAttribute
        }
示例#2
0
        public void OnVertexHighlightRemoving()
        {
            var graph      = new BidirectionalGraph <int, Edge <int> >();
            var controller = new TestHighlightController <int>(graph);
            var algorithm  = new SimpleHighlightAlgorithm <int, Edge <int>, BidirectionalGraph <int, Edge <int> > >(controller, null);

            // Not in graph
            Assert.IsFalse(algorithm.OnVertexHighlightRemoving(1));

            var edge12 = new Edge <int>(1, 2);
            var edge13 = new Edge <int>(1, 3);
            var edge24 = new Edge <int>(2, 4);
            var edge25 = new Edge <int>(2, 5);
            var edge33 = new Edge <int>(3, 3);
            var edge35 = new Edge <int>(3, 5);
            var edge45 = new Edge <int>(4, 5);
            var edge64 = new Edge <int>(6, 4);

            graph.AddVerticesAndEdgeRange(new[]
            {
                edge12, edge13, edge24, edge25,
                edge33, edge35, edge45, edge64
            });

            Assert.IsTrue(algorithm.OnVertexHighlightRemoving(2));

            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(6));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(6));

            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge64));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge64));


            algorithm.OnVertexHighlighting(3);
            Assert.IsTrue(algorithm.OnVertexHighlightRemoving(3));

            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(6));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(6));

            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge64));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge64));


            algorithm.OnVertexHighlighting(1);
            Assert.IsTrue(algorithm.OnVertexHighlightRemoving(1));

            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(1));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(2));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(3));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(4));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(5));
            Assert.IsFalse(algorithm.Controller.IsHighlightedVertex(6));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedVertex(6));

            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge12));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge13));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge24));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge25));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge33));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge35));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge45));
            Assert.IsFalse(algorithm.Controller.IsHighlightedEdge(edge64));
            Assert.IsFalse(algorithm.Controller.IsSemiHighlightedEdge(edge64));
        }