public void Init() { string python = "from sys import exit as myexit"; parseInfo = PythonParserHelper.CreateParseInfo(python); resolverContext = new PythonResolverContext(parseInfo); }
public void HasDottedImportNameReturnsFalseForMyNamespaceWithMyNamespaceTestImportedWithoutDtso() { string code = "import MyNamespaceTest"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsFalse(resolverContext.HasDottedImportNameThatStartsWith("MyNamespace")); }
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 Init() { string python = "import math as m\r\n" + "import sys as s"; parseInfo = PythonParserHelper.CreateParseInfo(python); resolverContext = new PythonResolverContext(parseInfo); }
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 HasImportReturnsTrueForImportedAsName() { string code = "import sys as something"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("something")); }
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 HasImportReturnsTrueForImportThatDoesExistInCompilationUnit() { string code = "import abc"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("abc")); }
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 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 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 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 Parse_ClassMethodHasNoPropertyButHasAssignmentStatementSetToValueFromFunctionCall_ParseInfoHasNoPropertyAdded() { string code = "class MyClass:\r\n" + " a = foo()\r\n" + "\r\n"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); int count = parseInfo.CompilationUnit.Classes[0].Properties.Count; Assert.AreEqual(0, count); }
public void GetModulesThatImportEverythingIgnoresNonFromImportStatement() { string code = "import math\r\n" + "from sys import *"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); string[] expectedModules = new string[] { "sys" }; Assert.AreEqual(expectedModules, resolverContext.GetModulesThatImportEverything()); }
void ParseClassWithProperty() { string code = "class MyClass:\r\n" + " def __init__(self):\r\n" + " self._count = 0\r\n" + "\r\n" + " def get_Count(self):\r\n" + " return self._count\r\n" + "\r\n" + " def _set_Count(self, value):\r\n" + " self._count = value\r\n" + "\r\n" + " Count = property(fget=get_Count, fset=set_Count)\r\n"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); property = parseInfo.CompilationUnit.Classes[0].Properties[0]; }
void ParseCode(string code) { ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); myClass = parseInfo.CompilationUnit.Classes[0]; }