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 }
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)); }