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 FieldIsNotSelfReference() { AssignmentStatement statement = PythonParserHelper.GetAssignmentStatement("self.listView1.TooltipText = \"abc\""); PythonControlFieldExpression field = PythonControlFieldExpression.Create(statement.Left[0] as MemberExpression); Assert.IsTrue(field.IsSelfReference); }
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 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 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 SetUpFixture() { MockComponentCreator componentCreator = new MockComponentCreator(); CallExpression callExpression = PythonParserHelper.GetCallExpression(code); PythonCodeDeserializer deserializer = new PythonCodeDeserializer(componentCreator); args = deserializer.GetArguments(callExpression); }
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 Init() { string python = "from sys import exit as myexit"; parseInfo = PythonParserHelper.CreateParseInfo(python); resolverContext = new PythonResolverContext(parseInfo); }
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 Init() { string python = "import math as m\r\n" + "import sys as s"; parseInfo = PythonParserHelper.CreateParseInfo(python); resolverContext = new PythonResolverContext(parseInfo); }
public void HasImportReturnsTrueForImportThatDoesExistInCompilationUnitWithSingleUsingWithMultipleNamespaces() { string code = "import abc, ghi"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("ghi")); }
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 HasImportReturnsTrueForImportThatDoesExistInCompilationUnit() { string code = "import abc"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("abc")); }
public void HasImportReturnsTrueForImportedAsName() { string code = "import sys as something"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("something")); }
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 HasImportReturnsFalseForFromImport() { string code = "from import sys"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsFalse(resolverContext.HasImport("sys")); }
public void HasDottedImportNameReturnsFalseForMyNamespaceWithMyNamespaceTestImportedWithoutDtso() { string code = "import MyNamespaceTest"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsFalse(resolverContext.HasDottedImportNameThatStartsWith("MyNamespace")); }
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 HasDottedImportNameReturnsTrueForSystemWithSystemWindowsFormsImported() { string code = "import System.Windows.Forms"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasDottedImportNameThatStartsWith("System")); }
public void CreateParseInfoReturnsParseInfoWithSingleClass() { string code = "class foo:\r\n" + " pass"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); Assert.AreEqual("foo", parseInfo.CompilationUnit.Classes[0].Name); }
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 GetModulesThatImportEverythingReturnsSysForFromSysImportAllStatement() { string code = "from sys import *"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); string[] expectedModules = new string[] { "sys" }; Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything()); }
public void GetCallExpressionReturnsFirstCallStatementInCode() { string code = "run()"; CallExpression call = PythonParserHelper.GetCallExpression(code); NameExpression nameExpression = call.Target as NameExpression; Assert.AreEqual("run", nameExpression.Name); }
public void GetModulesThatImportEverythingReturnsEmptyCollectionIfNotImportAll() { string code = "from math import tan"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); string[] expectedModules = new string[0]; Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything()); }
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 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 Parse_ClassMethodHasNoPropertyButHasAssignmentStatementUsingMemberExpression_ParseInfoHasNoPropertyAddedAndNoExceptionThrown() { string code = "class MyClass:\r\n" + " a.b = foo()\r\n" + "\r\n"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); int count = parseInfo.CompilationUnit.Classes[0].Properties.Count; Assert.AreEqual(0, count); }
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 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)); } }