public void TestRemoveNodeFromBaseMaterialGraphCleansEdges() { var graph = new TestMaterialGraph(); var outputNode = new TestableNode(); graph.AddNode(outputNode); var inputNode = new TestableNode(); graph.AddNode(inputNode); Assert.AreEqual(2, graph.GetNodes <INode>().Count()); var createdEdge = graph.Connect(outputNode.GetSlotReference(TestableNode.Output0), inputNode.GetSlotReference(TestableNode.Input0)); Assert.AreEqual(1, graph.edges.Count()); var edge = graph.edges.FirstOrDefault(); Assert.AreEqual(createdEdge, edge); graph.RemoveNode(outputNode); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); Assert.AreEqual(0, graph.edges.Count()); Assert.AreEqual(inputNode, graph.GetNodes <INode>().FirstOrDefault()); }
public void TestCanRemoveNodeFromBaseMaterialGraph() { var graph = new TestMaterialGraph(); var node = new TestNode(); node.name = "Test Node"; graph.AddNode(node); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); graph.RemoveNode(graph.GetNodes <INode>().FirstOrDefault()); Assert.AreEqual(0, graph.GetNodes <INode>().Count()); }
public void TestRemovingNodeRemovesConectedEdgesOnBaseMaterialGraph() { var graph = new TestMaterialGraph(); var outputNode = new TestableNode(); graph.AddNode(outputNode); var inputNode = new TestableNode(); graph.AddNode(inputNode); Assert.AreEqual(2, graph.GetNodes <INode>().Count()); graph.Connect(outputNode.GetSlotReference(TestableNode.Output0), inputNode.GetSlotReference(TestableNode.Input0)); Assert.AreEqual(1, graph.edges.Count()); graph.RemoveNode(graph.GetNodes <INode>().FirstOrDefault()); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); Assert.AreEqual(0, graph.edges.Count()); }