Beispiel #1
0
        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);
        }
Beispiel #2
0
        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()));
        }