public void When_RemoveEdge_Expect_OrderUnimportant(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); Node edgeStart = nodeGraph.Nodes[0]; Node edgeEnd = nodeGraph.Nodes[1]; nodeGraph.RemoveEdge(edgeStart, edgeEnd); nodeGraphCopy.RemoveEdge(edgeEnd, edgeStart); Assert.That(!nodeGraph.AreLinked(edgeStart, edgeEnd)); Assert.That(!nodeGraphCopy.AreLinked(edgeStart, edgeEnd)); Assert.AreEqual(nodeGraph, nodeGraphCopy); }
public void When_NodeGraphChangedExternally_Expect_UnchangedInternally(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); List <Node> myNodes = nodeGraph.NodesDeepCopy; List <Edge> myEdges = nodeGraph.EdgesDeepCopy; myNodes.RemoveAt(0); myEdges.RemoveAt(0); myNodes[0].index = 77; myNodes[0].coordinate = new Vect3(6, 3, 2); myNodes[0].neighbors.Add(new NodeEdgePair(1561, 1611)); myEdges[0].index = 156125; myEdges[0].nodeIndex1 = 156125; myEdges[0].nodeIndex2 = 156125; Assert.AreEqual(nodeGraph, nodeGraphCopy); }
public void When_MergeNode_Expect_MinDistanceKept(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); Node node1 = nodeGraph.GetNode(new Vect3(1, 1, 1)); Node node2 = nodeGraph.GetNode(new Vect3(2, 2, 2)); Node node3 = nodeGraph.GetNode(new Vect3(3, 3, 3)); Node node4 = nodeGraph.GetNode(new Vect3(4, 4, 4)); Node node5 = nodeGraph.GetNode(new Vect3(5, 5, 5)); nodeGraph.LinkNodes(node1, node4); nodeGraph.SetEdgeWidth(node1, node2, 5); nodeGraph.SetEdgeWidth(node2, node3, 10); node1 = nodeGraph.MoveNode(node2, node1.coordinate); Assert.That(nodeGraph.AreLinked(new Vect3(1, 1, 1), new Vect3(3, 3, 3))); Assert.AreEqual(5d, nodeGraph.GetEdgeWidth(new Vect3(1, 1, 1), new Vect3(3, 3, 3))); Assert.AreNotEqual(nodeGraph, nodeGraphCopy); }
public void When_MergeNode_Expect_NodeMerged(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); Node node1 = nodeGraph.GetNode(new Vect3(1, 1, 1)); Node node2 = nodeGraph.GetNode(new Vect3(2, 2, 2)); Node node3 = nodeGraph.GetNode(new Vect3(3, 3, 3)); Node node4 = nodeGraph.GetNode(new Vect3(4, 4, 4)); Node node5 = nodeGraph.GetNode(new Vect3(5, 5, 5)); nodeGraph.LinkNodes(node2, node3); node1 = nodeGraph.MoveNode(node1, node2.coordinate); Assert.That(nodeGraph.AreLinked(node1, node3)); Assert.That(nodeGraph.AreLinked(node1, node4)); Assert.That(nodeGraph.AreLinked(node1, node5)); Assert.AreEqual(4, nodeGraph.Nodes.Count); Assert.AreEqual(3, nodeGraph.Edges.Count); foreach (Node node in nodeGraph.Nodes) { foreach (NodeEdgePair neighbor in node.neighbors) { Assert.AreNotEqual(node2.index, neighbor.nodeIndex); } } foreach (Edge edge in nodeGraph.Edges) { Assert.AreNotEqual(node2.index, edge.nodeIndex1); Assert.AreNotEqual(node2.index, edge.nodeIndex2); } Assert.AreEqual(nodeGraph.GetNode(new Vect3(1, 1, 1)), null); Assert.AreNotEqual(nodeGraph, nodeGraphCopy); }
public void When_MoveNode_Expect_NodeMoved(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); Node node2 = nodeGraph.GetNode(new Vect3(2, 2, 2)); Node node3 = nodeGraph.GetNode(new Vect3(3, 3, 3)); Node node4 = nodeGraph.GetNode(new Vect3(4, 4, 4)); Node node5 = nodeGraph.GetNode(new Vect3(5, 5, 5)); nodeGraph.MoveNode(new Vect3(1, 1, 1), new Vect3(70, 70, 70)); Node node1 = nodeGraph.GetNode(new Vect3(70, 70, 70)); Assert.That(nodeGraph.AreLinked(node1, node2)); Assert.That(nodeGraph.AreLinked(node1, node3)); Assert.That(nodeGraph.AreLinked(node1, node4)); Assert.That(nodeGraph.AreLinked(node1, node5)); Assert.AreEqual(5, nodeGraph.Nodes.Count); Assert.AreEqual(nodeGraph.GetNode(new Vect3(1, 1, 1)), null); Assert.AreNotEqual(nodeGraph, nodeGraphCopy); }
public void When_DeepCopyNodeGraph_Expect_ExactCopy(NodeGraph nodeGraph) { NodeGraph nodeGraphCopy = nodeGraph.DeepCopy(); Assert.AreEqual(nodeGraph, nodeGraphCopy); }