public void OtherVertex() { var graph = new Graph <int>(true); var vertex1 = new Vertex <int>(1); var vertex2 = new Vertex <int>(2); var vertex3 = new Vertex <int>(3); graph.AddVertex(vertex1); graph.AddVertex(vertex2); graph.AddVertex(vertex3); graph.AddEdge(vertex1, vertex2); graph.AddEdge(vertex3, vertex2); graph.AddEdge(vertex1, vertex3); Assert.AreEqual(graph.Edges.Count, 3); Assert.AreEqual(graph.Vertices.Count, 3); Assert.IsTrue(graph.RemoveEdge(vertex1, vertex2)); Assert.AreEqual(graph.Edges.Count, 2); Assert.IsFalse(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(graph.RemoveEdge(vertex3, vertex2)); Assert.AreEqual(graph.Edges.Count, 1); Assert.IsFalse(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsFalse(vertex3.HasEmanatingEdgeTo(vertex2)); }
public void VerticesAndWeightUndirected() { var graph = new Graph <int>(false); var vertex1 = new Vertex <int>(4); var vertex2 = new Vertex <int>(5); var vertex3 = new Vertex <int>(6); graph.AddVertex(vertex1); graph.AddVertex(vertex2); graph.AddVertex(vertex3); graph.AddEdge(vertex1, vertex2, 10); graph.AddEdge(vertex1, vertex3, 12); graph.AddEdge(vertex2, vertex3, 14); Assert.AreEqual(graph.Edges.Count, 3); Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex3)); Assert.IsTrue(vertex2.HasEmanatingEdgeTo(vertex3)); Assert.IsTrue(vertex2.HasEmanatingEdgeTo(vertex1)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex1)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(graph.ContainsEdge(vertex1, vertex2)); Assert.IsTrue(graph.ContainsEdge(vertex1, vertex3)); Assert.IsTrue(graph.ContainsEdge(vertex2, vertex3)); Assert.IsTrue(graph.ContainsEdge(vertex2, vertex1)); Assert.IsTrue(graph.ContainsEdge(vertex3, vertex1)); Assert.IsTrue(graph.ContainsEdge(vertex3, vertex2)); }
public void HasEmanatingEdgeToExample() { // Create two new vertices var vertex1 = new Vertex <int>(2); var vertex2 = new Vertex <int>(4); // Create a graph, and add the vertices to // the graph var graph = new Graph <int>(true); graph.AddVertex(vertex1, vertex2); // Add an edge from vertex1 to vertex vertex2 graph.AddEdge(vertex1, vertex2); // vertex1 has an emanating edge to vertex2 Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex2)); // But vertex2 does not have an emanating edge to vertex1 Assert.IsFalse(vertex2.HasEmanatingEdgeTo(vertex1)); }
public void HasEmanatingEdgeToExample() { // Create two new vertices var vertex1 = new Vertex<int>(2); var vertex2 = new Vertex<int>(4); // Create a graph, and add the vertices to // the graph var graph = new Graph<int>(true); graph.AddVertex(vertex1); graph.AddVertex(vertex2); // Add an edge from vertex1 to vertex vertex2 graph.AddEdge(vertex1, vertex2); // vertex1 has an emanating edge to vertex2 Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex2)); // But vertex2 does not have an emanating edge to vertex1 Assert.IsFalse(vertex2.HasEmanatingEdgeTo(vertex1)); }
public void OtherVertex() { var graph = new Graph<int>(true); var vertex1 = new Vertex<int>(1); var vertex2 = new Vertex<int>(2); var vertex3 = new Vertex<int>(3); graph.AddVertex(vertex1); graph.AddVertex(vertex2); graph.AddVertex(vertex3); graph.AddEdge(vertex1, vertex2); graph.AddEdge(vertex3, vertex2); graph.AddEdge(vertex1, vertex3); Assert.AreEqual(graph.Edges.Count, 3); Assert.AreEqual(graph.Vertices.Count, 3); Assert.IsTrue(graph.RemoveEdge(vertex1, vertex2)); Assert.AreEqual(graph.Edges.Count, 2); Assert.IsFalse(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(graph.RemoveEdge(vertex3, vertex2)); Assert.AreEqual(graph.Edges.Count, 1); Assert.IsFalse(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsFalse(vertex3.HasEmanatingEdgeTo(vertex2)); }
public void VerticesAndWeightUndirected() { var graph = new Graph<int>(false); var vertex1 = new Vertex<int>(4); var vertex2 = new Vertex<int>(5); var vertex3 = new Vertex<int>(6); graph.AddVertex(vertex1); graph.AddVertex(vertex2); graph.AddVertex(vertex3); graph.AddEdge(vertex1, vertex2, 10); graph.AddEdge(vertex1, vertex3, 12); graph.AddEdge(vertex2, vertex3, 14); Assert.AreEqual(graph.Edges.Count, 3); Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(vertex1.HasEmanatingEdgeTo(vertex3)); Assert.IsTrue(vertex2.HasEmanatingEdgeTo(vertex3)); Assert.IsTrue(vertex2.HasEmanatingEdgeTo(vertex1)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex1)); Assert.IsTrue(vertex3.HasEmanatingEdgeTo(vertex2)); Assert.IsTrue(graph.ContainsEdge(vertex1, vertex2)); Assert.IsTrue(graph.ContainsEdge(vertex1, vertex3)); Assert.IsTrue(graph.ContainsEdge(vertex2, vertex3)); Assert.IsTrue(graph.ContainsEdge(vertex2, vertex1)); Assert.IsTrue(graph.ContainsEdge(vertex3, vertex1)); Assert.IsTrue(graph.ContainsEdge(vertex3, vertex2)); }