public void UpdatesEdgeCacheOnEdgeRemove() { TestNodeGraph graph = new TestNodeGraph(); var node0 = new TestNode(); var node1 = new TestNode(); graph.AddNode(node0); graph.AddNode(node1); var outSlot = node0.CreateOutputSlot <ValueSlot <Vector3> >("Out"); var inSlot = node1.CreateInputSlot <ValueSlot <Vector3> >("In"); var edge = graph.Connect(outSlot.slotReference, inSlot.slotReference); Assert.AreEqual(1, graph.GetEdges().Count); graph.RemoveEdge(edge); Assert.IsFalse(inSlot.GetSlotConnectionCache().Any()); Assert.IsFalse(outSlot.GetSlotConnectionCache().Any()); }
public void TestCanUpdateSlotPriority() { var graph = new TestNodeGraph(); var node = new TestNode(); node.CreateOutputSlot <TestSlot>("output").SetValueType(typeof(Vector3)).SetPriority(0); node.name = "Test Node"; graph.AddNode(node); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); var found = graph.GetNodes <INode>().FirstOrDefault(); Assert.AreEqual(0, found.GetInputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetOutputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetSlots <ISlot>().Count()); var slot = found.GetOutputSlots <ISlot>().FirstOrDefault(); Assert.AreEqual(0, slot.priority); slot.priority = 2; Assert.AreEqual(2, slot.priority); }
public void TestCanUpdateSlotPriorityByReaddingSlotToTestNode() { var graph = new TestNodeGraph(); var node = new TestNode(); var slot0 = new TestSlot(typeof(Vector3), SlotType.Output, 0); var slot1 = new TestSlot(typeof(Vector3), SlotType.Output, 0).SetPriority(5); node.AddSlot(slot0); node.AddSlot(slot1); node.name = "Test Node"; graph.AddNode(node); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); var found = graph.GetNodes <INode>().FirstOrDefault(); Assert.AreEqual(0, found.GetInputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetOutputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetSlots <ISlot>().Count()); var slot = found.GetOutputSlots <ISlot>().FirstOrDefault(); Assert.AreEqual(5, slot.priority); }
public void TestCanUpdateDisplaynameByReaddingSlotToTestNode() { var graph = new TestNodeGraph(); var node = new TestNode(); var slot0 = new TestSlot(typeof(Vector3), SlotType.Output, 0).SetDisplayName("output"); var slot1 = new TestSlot(typeof(Vector3), SlotType.Output, 0).SetDisplayName("output_updated"); node.AddSlot(slot0); node.AddSlot(slot1); node.name = "Test Node"; graph.AddNode(node); Assert.AreEqual(1, graph.GetNodes <INode>().Count()); var found = graph.GetNodes <INode>().FirstOrDefault(); Assert.AreEqual(0, found.GetInputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetOutputSlots <ISlot>().Count()); Assert.AreEqual(1, found.GetSlots <ISlot>().Count()); var slot = found.GetOutputSlots <ISlot>().FirstOrDefault(); Assert.AreEqual("output_updated (Vector3)", slot.displayName); }
public void TestCanNotAddNullSlotToTestNode() { var node = new TestNode(); Assert.Throws <ArgumentNullException>(() => node.AddSlot(null)); }