コード例 #1
0
        public void TestGetSlotPosition()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();
            VisualNode         node  = ((VisualNode)nodes[0]);

            uint  slotId = node.GetOutputSlot(0);
            ISlot slot   = ((GraphController)controller).GetSlot(slotId);

            System.Windows.Point pt = node.GetSlotPosition((Slot)slot);

            bool result = false;

            if (pt != null)
            {
                result = true;
            }
            Assert.AreEqual(true, result);

            slot = null;
            Assert.Throws <ArgumentNullException>(() =>
            {
                pt = node.GetSlotPosition((Slot)slot);
            });
        }
コード例 #2
0
        public void TestEdit()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");
            List <IVisualNode> nodes   = ((GraphController)controller).GetVisualNodes();
            VisualNode         newNode = nodes[0] as VisualNode;

            Assert.Throws <InvalidOperationException>(() =>
            {
                newNode.Edit("newText", false);
            });

            bool result = false;

            newNode.EnableEdit(NodePart.Caption, -1);
            result = newNode.Edit("newText", false);
            newNode.DisableEdit();
            Assert.AreEqual(true, result);

            if (((VisualNode)nodes[0]).Caption == "newText")
            {
                result = true;
            }

            Assert.AreEqual(true, result);
        }
コード例 #3
0
        public void TestGetOutputSlot()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();
            uint  slotId             = nodes[0].GetOutputSlot(0);
            ISlot slot = ((GraphController)controller).GetSlot(slotId);

            Assert.AreEqual(SlotType.Output, slot.SlotType);
        }
コード例 #4
0
        public void TestGetOutputSlots()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();

            uint[] list  = nodes[0].GetOutputSlots();
            int    count = list.Count();

            Assert.AreEqual(1, count);
        }
コード例 #5
0
        public void TestSlotType()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "double,double");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();
            VisualNode         node  = (VisualNode)nodes[0];
            uint  slotId             = node.GetInputSlot(0);
            ISlot slot   = ((GraphController)controller).GetSlot(slotId);
            bool  result = false;

            if (slot.SlotType != SlotType.None)
            {
                result = true;
            }
            Assert.AreEqual(true, result);
        }
コード例 #6
0
        public void TestEnableEdit()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes   = ((GraphController)controller).GetVisualNodes();
            VisualNode         newNode = nodes[0] as VisualNode;

            newNode.EnableEdit(NodePart.Caption, -1);

            bool result = false;

            result = newNode.EnableEdit(NodePart.None, -1);
            Assert.AreEqual(false, result);
            newNode.DisableEdit();
            result = newNode.EnableEdit(NodePart.Caption, -1);
            Assert.AreEqual(true, result);
        }
コード例 #7
0
        public void TestOwners()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();
            VisualNode         node  = (VisualNode)nodes[0];
            uint  slotId             = node.GetInputSlot(0);
            ISlot slot   = ((GraphController)controller).GetSlot(slotId);
            bool  result = false;

            uint[] owners = slot.Owners;

            if (owners.Count() != 0)
            {
                result = true;
            }

            Assert.AreEqual(true, result);
        }
コード例 #8
0
        public void TestGetSlotIndex()
        {
            IGraphController controller = new GraphController(null);

            controller.DoCreateFunctionNode(1, 1, "", "Function", "int,int");

            List <IVisualNode> nodes = ((GraphController)controller).GetVisualNodes();

            VisualNode node   = ((VisualNode)nodes[0]);
            uint       slotId = node.GetInputSlot(0);
            int        result = node.GetSlotIndex(slotId);

            Assert.AreEqual(0, result);

            slotId = node.GetOutputSlot(0);
            result = node.GetSlotIndex(slotId);
            Assert.AreEqual(0, result);

            //try to get index of a non-existent slot
            Assert.Throws <InvalidOperationException>(() =>
            {
                result = node.GetSlotIndex(0x12345678);
            });
        }