public void TestCanConnectAndTraverseTwoNodesOnBaseMaterialGraph() { 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); var foundOutputNode = graph.GetNodeFromGuid(edge.outputSlot.nodeGuid); var foundOutputSlot = foundOutputNode.FindOutputSlot <ISlot>(edge.outputSlot.slotId); Assert.AreEqual(outputNode, foundOutputNode); Assert.IsNotNull(foundOutputSlot); var foundInputNode = graph.GetNodeFromGuid(edge.inputSlot.nodeGuid); var foundInputSlot = foundInputNode.FindInputSlot <ISlot>(edge.inputSlot.slotId); Assert.AreEqual(inputNode, foundInputNode); Assert.IsNotNull(foundInputSlot); }
public void TestCanFindNodeInBaseMaterialGraph() { var graph = new TestMaterialGraph(); var node = new TestNode(); graph.AddNode(node); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); Assert.IsNotNull(graph.GetNodeFromGuid(node.guid)); Assert.IsNull(graph.GetNodeFromGuid(Guid.NewGuid())); }