public void TestCanRemoveSlotFromTestNode()
        {
            var graph  = new TestNodeGraph();
            var node   = new TestNode();
            var output = node.CreateOutputSlot <TestSlot>("output").SetValueType(typeof(Vector3));
            var input  = node.CreateInputSlot <TestSlot>("input").SetValueType(typeof(Vector3));

            graph.AddNode(node);

            Assert.AreEqual(2, node.GetSlots <ISlot>().Count());
            Assert.AreEqual(1, node.GetInputSlots <ISlot>().Count());
            Assert.AreEqual(1, node.GetOutputSlots <ISlot>().Count());

            node.RemoveSlot(input.id);

            Assert.AreEqual(1, node.GetSlots <ISlot>().Count());
            Assert.AreEqual(0, node.GetInputSlots <ISlot>().Count());
            Assert.AreEqual(1, node.GetOutputSlots <ISlot>().Count());
        }
        public void TestCanUpdateSlotDisplayName()
        {
            var node = new TestNode();

            node.CreateOutputSlot <TestSlot>("output").SetValueType(typeof(Vector3));
            node.name = "Test Node";

            Assert.AreEqual(0, node.GetInputSlots <ISlot>().Count());
            Assert.AreEqual(1, node.GetOutputSlots <ISlot>().Count());
            Assert.AreEqual(1, node.GetSlots <ISlot>().Count());

            var slot = node.GetOutputSlots <ISlot>().FirstOrDefault();

            Assert.IsNotNull(slot);
            Assert.AreEqual("output (Vector3)", slot.displayName);
            slot.displayName = "test";
            Assert.AreEqual("test (Vector3)", slot.displayName);
        }