public void SetUpFixture()
        {
            MockComponentCreator   componentCreator = new MockComponentCreator();
            CallExpression         callExpression   = PythonParserHelper.GetCallExpression(code);
            PythonCodeDeserializer deserializer     = new PythonCodeDeserializer(componentCreator);

            args = deserializer.GetArguments(callExpression);
        }
        public void MethodNameWithNoVariableName()
        {
            string         code                = "self.Items.Add(self._fileMenuItem)";
            CallExpression expression          = PythonParserHelper.GetCallExpression(code);
            PythonControlFieldExpression field = PythonControlFieldExpression.Create(expression);

            AssertAreEqual(field, String.Empty, "Items", "Add", "self.Items");
        }
        public void SetToolTipMethodCall()
        {
            string         code                = "self._toolTip1.SetToolTip(self, \"Test\")";
            CallExpression expression          = PythonParserHelper.GetCallExpression(code);
            PythonControlFieldExpression field = PythonControlFieldExpression.Create(expression);

            AssertAreEqual(field, "toolTip1", "_toolTip1", "SetToolTip", "self._toolTip1");
        }
        public void GetCallExpressionReturnsFirstCallStatementInCode()
        {
            string code =
                "run()";

            CallExpression call           = PythonParserHelper.GetCallExpression(code);
            NameExpression nameExpression = call.Target as NameExpression;

            Assert.AreEqual("run", nameExpression.Name);
        }
        public void GetObjectInMethodCallFromSpecifiedObject()
        {
            string pythonCode = "self.Controls.AddRange(System.Array[System.Windows.Forms.ToolStripItem](\r\n" +
                                "    [self._fileToolStripMenuItem,\r\n" +
                                "    self._editToolStripMenuItem]))";

            CallExpression callExpression = PythonParserHelper.GetCallExpression(pythonCode);

            using (Form form = new Form()) {
                Assert.AreSame(form.Controls, PythonControlFieldExpression.GetMember(form, callExpression));
            }
        }
        public void BooleanParameter()
        {
            List <object> expectedArgs = new List <object>();

            expectedArgs.Add(true);

            string         code           = "TestClass(True)";
            CallExpression callExpression = PythonParserHelper.GetCallExpression(code);
            List <object>  args           = deserializer.GetArguments(callExpression);

            Assert.AreEqual(expectedArgs, args);
        }
        public void EnumParameter()
        {
            List <object> expectedArgs = new List <object>();

            expectedArgs.Add(AnchorStyles.Top);

            string         code           = "TestClass(System.Windows.Forms.AnchorStyles.Top)";
            CallExpression callExpression = PythonParserHelper.GetCallExpression(code);
            List <object>  args           = deserializer.GetArguments(callExpression);

            Assert.AreEqual(expectedArgs, args);
        }
        public void GetObjectForUnknownComponent()
        {
            string pythonCode = "self._menuStrip1.SuspendLayout()";

            CallExpression callExpression      = PythonParserHelper.GetCallExpression(pythonCode);
            PythonControlFieldExpression field = PythonControlFieldExpression.Create(callExpression);

            using (MenuStrip menuStrip = new MenuStrip()) {
                MockComponentCreator creator = new MockComponentCreator();
                creator.Add(menuStrip, "unknown");
                Assert.IsNull(field.GetMember(creator));
            }
        }
        public void SetUpFixture()
        {
            componentCreator = new MockComponentCreator();
            listViewItem1    = (ListViewItem)componentCreator.CreateInstance(typeof(ListViewItem), new object[0], "listViewItem1", false);

            CallExpression callExpression = PythonParserHelper.GetCallExpression(pythonCode);

            mockDesignerLoaderHost = new MockDesignerLoaderHost();
            typeResolutionService  = mockDesignerLoaderHost.TypeResolutionService;
            PythonCodeDeserializer deserializer = new PythonCodeDeserializer(componentCreator);

            deserializedObject = deserializer.Deserialize(callExpression.Args[0].Expression);
        }
        public void GetObjectInMethodCall()
        {
            string pythonCode = "self._menuStrip1.Items.AddRange(System.Array[System.Windows.Forms.ToolStripItem](\r\n" +
                                "    [self._fileToolStripMenuItem,\r\n" +
                                "    self._editToolStripMenuItem]))";

            CallExpression callExpression      = PythonParserHelper.GetCallExpression(pythonCode);
            PythonControlFieldExpression field = PythonControlFieldExpression.Create(callExpression);

            using (MenuStrip menuStrip = new MenuStrip()) {
                MockComponentCreator creator = new MockComponentCreator();
                creator.Add(menuStrip, "menuStrip1");
                Assert.AreSame(menuStrip.Items, field.GetMember(creator));
            }
        }
        public void LocalVariableInstance()
        {
            string          s        = "abc";
            CreatedInstance instance = new CreatedInstance(typeof(string), new object[0], "localVariable", false);

            instance.Object = s;
            componentCreator.CreatedInstances.Add(instance);
            List <object> expectedArgs = new List <object>();

            expectedArgs.Add(s);

            string         code           = "TestClass(localVariable)";
            CallExpression callExpression = PythonParserHelper.GetCallExpression(code);
            List <object>  args           = deserializer.GetArguments(callExpression);

            Assert.AreEqual(expectedArgs, args);
        }
        public void GetInstanceObjectInMethodCall()
        {
            string pythonCode = "treeNode1.Nodes.AddRange(System.Array[System.Windows.Forms.TreeNode](\r\n" +
                                "    [treeNode2]))";

            CallExpression callExpression      = PythonParserHelper.GetCallExpression(pythonCode);
            PythonControlFieldExpression field = PythonControlFieldExpression.Create(callExpression);

            TreeNode             treeNode1 = new TreeNode();
            TreeNode             treeNode2 = new TreeNode();
            MockComponentCreator creator   = new MockComponentCreator();

            creator.AddInstance(treeNode1, "treeNode1");
            creator.AddInstance(treeNode2, "treeNode2");
            object member = field.GetMember(creator);

            Assert.AreSame(treeNode1.Nodes, member);
        }
        public void FullMemberExpression()
        {
            CallExpression call = PythonParserHelper.GetCallExpression("self._a.b.Add()");

            Assert.AreEqual("self._a.b.Add", PythonControlFieldExpression.GetMemberName(call.Target as MemberExpression));
        }