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); }
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)); }