public void FieldIsNotSelfReference()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("self.listView1.TooltipText = \"abc\"");
            PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            Assert.IsTrue(field.IsSelfReference);
        }
        public void NullPassedToPythonControlFieldExpressionEquals()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("self._textBox1.Name = \"abc\"");
            PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            Assert.IsFalse(field.Equals(null));
        }
        public void GetInheritedPanelObjectFromFieldExpression()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("self.panel1.Name = \"abc\"");
            PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            Assert.AreEqual(DerivedForm.GetPanel(), field.GetObject(ComponentCreator));
        }
        public void LocalVariableIsNotSelfReference()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("listViewItem1.TooltipText = \"abc\"");
            PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            Assert.IsFalse(field.IsSelfReference);
        }
        public void GetMemberNames()
        {
            string[]            expected  = new string[] { "a", "b" };
            string              code      = "a.b = 0";
            AssignmentStatement statement = PythonParserHelper.GetAssignmentStatement(code);

            Assert.AreEqual(expected, PythonControlFieldExpression.GetMemberNames(statement.Left[0] as MemberExpression));
        }
        public void GetInvalidTwoLevelDeepButtonPropertyDescriptorForSelfReference()
        {
            using (Button button = new Button()) {
                AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("self._button1.InvalidProperty.BorderSize = 3");
                PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

                Assert.IsNull(field.GetObjectForMemberName(button));
            }
        }
        public void GetButtonFlatAppearanceObject()
        {
            using (Button button = new Button()) {
                AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("_button1.FlatAppearance.BorderSize = 3");
                PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

                Assert.AreEqual(button.FlatAppearance, field.GetObjectForMemberName(button));
            }
        }
        public void GetButtonObject()
        {
            using (Button button = new Button()) {
                AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("_button1.Size = System.Drawing.Size(10, 10)");
                PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

                Assert.AreEqual(button, field.GetObjectForMemberName(button));
            }
        }
        public void LocalVariable()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("listViewItem1.TooltipText = \"abc\"");
            PythonControlFieldExpression field     = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            PythonControlFieldExpression expectedField = new PythonControlFieldExpression("TooltipText", "listViewItem1", String.Empty, "listViewItem1.TooltipText");

            Assert.AreEqual(expectedField, field);
        }
        public void PythonControlFieldExpressionEquals()
        {
            AssignmentStatement          statement = PythonParserHelper.GetAssignmentStatement("self._textBox1.Name = \"abc\"");
            PythonControlFieldExpression field1    = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            statement = PythonParserHelper.GetAssignmentStatement("self._textBox1.Name = \"def\"");
            PythonControlFieldExpression field2 = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression);

            Assert.AreEqual(field1, field2);
        }
        public void GetAssignmentStatementReturnsFirstAssignmentStatementInCode()
        {
            string code =
                "i = 10";

            AssignmentStatement assignment     = PythonParserHelper.GetAssignmentStatement(code);
            NameExpression      nameExpression = assignment.Left[0] as NameExpression;

            Assert.AreEqual("i", nameExpression.Name);
        }
        public void SetUpFixture()
        {
            componentCreator = new MockComponentCreator();

            AssignmentStatement assignment = PythonParserHelper.GetAssignmentStatement(GetPythonCode());

            rhsAssignmentNode = assignment.Right;

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

            deserializedObject = deserializer.Deserialize(rhsAssignmentNode);
        }
        public void EnumReturnedInArgumentsPassedToConstructor()
        {
            string pythonCode = "self.Font = System.Drawing.Font(\"Times New Roman\", System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)";
            AssignmentStatement assignment = PythonParserHelper.GetAssignmentStatement(pythonCode);

            List <object> expectedArgs = new List <object>();

            expectedArgs.Add("Times New Roman");
            expectedArgs.Add(FontStyle.Regular);
            expectedArgs.Add(GraphicsUnit.Point);

            List <object> args = deserializer.GetArguments(assignment.Right as CallExpression);

            Assert.AreEqual(expectedArgs, args);
        }
Beispiel #14
0
        public void TypeName_CallExpressionTargetIsNotNameOrMemberExpression_ReturnsEmptyStringAndDoesNotGetStuckInInfiniteLoop()
        {
            string code = "a = 2";
            AssignmentStatement statement          = PythonParserHelper.GetAssignmentStatement(code);
            Expression          constantExpression = statement.Right;

            CallExpression    callExpression = new CallExpression(constantExpression, new Arg[0]);
            List <Expression> expressions    = new List <Expression>(statement.Left);

            statement = new AssignmentStatement(expressions.ToArray(), callExpression);

            PythonLocalVariableAssignment localVariableAssignment = new PythonLocalVariableAssignment(statement);
            string typeName = localVariableAssignment.TypeName;

            Assert.AreEqual(String.Empty, typeName);
        }
 /// <summary>
 /// Deserializes the right hand side of the assignment.
 /// </summary>
 object DeserializeRhsAssignment(string pythonCode)
 {
     return(deserializer.Deserialize(PythonParserHelper.GetAssignmentStatement(pythonCode).Right));
 }