public ResolveResult Resolve(string expression) { ExpressionResult expressionResult = new ExpressionResult(expression); PythonResolverContext context = new PythonResolverContext(ParseInfo, expressionResult, String.Empty); ResolveResult = Resolver.Resolve(context); return(ResolveResult); }
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 HasImportReturnsTrueForImportedAsName() { string code = "import sys as something"; ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); Assert.IsTrue(resolverContext.HasImport("something")); }
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 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 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 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()); }
public void Init() { MockProjectContent projectContent = new MockProjectContent(); MockProjectContent winFormsReferenceProjectContent = new MockProjectContent(); winFormsReferenceProjectContent.AddExistingNamespaceContents("System.Windows.Forms", new ArrayList()); projectContent.ReferencedContents.Add(winFormsReferenceProjectContent); DefaultCompilationUnit unit = new DefaultCompilationUnit(projectContent); parseInfo = new ParseInformation(unit); resolverContext = new PythonResolverContext(parseInfo); }
public void Resolve_FieldHasNoReturnType_DoesNotThrowNullReferenceException() { MockProjectContent projectContent = new MockProjectContent(); UnitTestingUtils.MockClass c = new UnitTestingUtils.MockClass(projectContent, "Test"); projectContent.SetClassToReturnFromGetClass("self", c); DefaultField field = c.AddField("randomNumber"); field.ReturnType = null; ParseInformation parseInfo = new ParseInformation(c.CompilationUnit); ExpressionResult expression = new ExpressionResult("self.randomNumber.randint", ExpressionContext.Default); PythonClassResolver classResolver = new PythonClassResolver(); PythonLocalVariableResolver localVariableResolver = new PythonLocalVariableResolver(classResolver); PythonMemberResolver resolver = new PythonMemberResolver(classResolver, localVariableResolver); PythonResolverContext context = new PythonResolverContext(parseInfo, expression, "class Test:\r\npass"); Assert.DoesNotThrow(delegate { resolver.Resolve(context); }); }
void CreatePythonResolverContext() { expression = new ExpressionResult("self"); context = new PythonResolverContext(parseInfo, expression, String.Empty); }