Ejemplo n.º 1
0
        public void L02TestLiteral_Connectivity()
        {
            //Create two literal nodes & Connect them
            string commands = @"
                ClearSelection
                CreateCodeBlockNode|d:335.0|d:169.0|s:100
                CreateIdentifierNode|d:534.0|d:184.0
                MouseDown|e:System.Windows.Input.MouseButton,Left|u:0x10000001|e:DesignScriptStudio.Graph.Core.NodePart,OutputSlot|i:0|e:System.Windows.Input.ModifierKeys,None
                MouseUp|e:System.Windows.Input.MouseButton,Left|u:0x10000002|e:DesignScriptStudio.Graph.Core.NodePart,InputSlot|i:0|e:System.Windows.Input.ModifierKeys,None";

            GraphController controller = new GraphController(null, null);
            bool            result     = controller.RunCommands(commands);

            Assert.AreEqual(true, result);
            Assert.AreEqual(2, controller.GetVisualNodes().Count);//output slot

            IVisualNode node  = controller.GetVisualNode(0x10000001);
            IVisualNode node2 = controller.GetVisualNode(0x10000002);

            Assert.NotNull(new object[] { node, node2 });       // check if node create
            Assert.AreEqual(NodeType.Literal, node.VisualType); // check if literal node

            Assert.AreEqual(null, node.GetInputSlots());        //output slot
            Assert.AreEqual(3, controller.GetSlots().Count);    //output slot
            // get slots

            uint  outputSlotId = node.GetOutputSlot(0);
            ISlot outputSlot   = controller.GetSlot(outputSlotId);

            uint  connectingSlotId = node2.GetInputSlot(0);
            ISlot connectingSlot   = controller.GetSlot(connectingSlotId);

            uint[] connecting = connectingSlot.ConnectingSlots;
            Assert.AreEqual(connectingSlotId, outputSlot.ConnectingSlots[0]);
        }