public void SetUpFixture() { resolver = new PythonResolver(); ParseInformation parseInfo = new ParseInformation(); mockProjectContent = new MockProjectContent(); systemConsoleClass = new MockClass(mockProjectContent, "System.Console"); mockProjectContent.ClassToReturnFromGetClass = systemConsoleClass; compilationUnit = CreateCompilationUnit(mockProjectContent); parseInfo.SetCompilationUnit(compilationUnit); string python = GetPythonScript(); ExpressionResult expressionResult = new ExpressionResult("System.Console", new DomRegion(3, 2), null, null); resolveResult = resolver.Resolve(expressionResult, parseInfo, python); // Here the most recent compilation unit is modified so it has no // class information. The best compilation unit (i.e. the valid one) // should be used instead by the python resolver. parseInfo.SetCompilationUnit(compilationUnit); parseInfo.SetCompilationUnit(new DefaultCompilationUnit(mockProjectContent) { ErrorsDuringCompile = true }); // Check that the best compilation unit is used and the resolve // still works. invalidMostRecentCompilationUnitResolveResult = resolver.Resolve(expressionResult, parseInfo, python); }
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 SetUpFixture() { resolver = new PythonResolver(); mockProjectContent = new ICSharpCode.Scripting.Tests.Utils.MockProjectContent(); systemConsoleClass = new MockClass(mockProjectContent, "System.Console"); mockProjectContent.SetClassToReturnFromGetClass("System.Console", systemConsoleClass); compilationUnit = CreateCompilationUnit(mockProjectContent); ParseInformation parseInfo = new ParseInformation(compilationUnit); string python = GetPythonScript(); ExpressionResult expressionResult = new ExpressionResult("System.Console", new DomRegion(3, 2), null, null); resolveResult = resolver.Resolve(expressionResult, parseInfo, python); // Check that the best compilation unit is used and the resolve // still works. invalidMostRecentCompilationUnitResolveResult = resolver.Resolve(expressionResult, parseInfo, python); }
public void InitBase() { projectContent = new MockProjectContent(); PythonParser parser = new PythonParser(); string fileName = @"C:\projects\test\test.py"; compilationUnit = parser.Parse(projectContent, fileName, GetPythonScript()); parseInfo = new ParseInformation(compilationUnit); resolver = new PythonResolver(); expressionResult = GetExpressionResult(); resolveResult = resolver.Resolve(expressionResult, parseInfo, GetPythonScript()); }
public void SetUpFixture() { resolver = new PythonResolver(); mockProjectContent = new MockProjectContent(); DefaultCompilationUnit cu = new DefaultCompilationUnit(mockProjectContent); cu.FileName = @"C:\Projects\Test\test.py"; ParseInformation parseInfo = new ParseInformation(cu); string python = "from System"; PythonExpressionFinder finder = new PythonExpressionFinder(); ExpressionResult expressionResult = finder.FindExpression(python, python.Length); resolveResult = resolver.Resolve(expressionResult, parseInfo, python) as PythonImportModuleResolveResult; }
public void SetUpFixture() { resolver = new PythonResolver(); mockProjectContent = new MockProjectContent(); mockProjectContent.AddExistingNamespaceContents("System", new List <ICompletionEntry>()); string python = "import System\r\n" + "class Test:\r\n" + " def __init__(self):\r\n" + " System.\r\n"; PythonParser parser = new PythonParser(); string fileName = @"C:\Projects\Test\test.py"; DefaultCompilationUnit cu = parser.Parse(mockProjectContent, fileName, python) as DefaultCompilationUnit; ParseInformation parseInfo = new ParseInformation(cu); ExpressionResult expressionResult = new ExpressionResult("System", new DomRegion(4, 2), null, null); resolveResult = resolver.Resolve(expressionResult, parseInfo, python) as NamespaceResolveResult; }
public void SetUpFixture() { resolver = new PythonResolver(); ParseInformation parseInfo = new ParseInformation(); mockProjectContent = new MockProjectContent(); testClass = new MockClass(mockProjectContent, "Test.Test1"); mockProjectContent.ClassesInProjectContent.Add(testClass); mockProjectContent.ClassToReturnFromGetClass = testClass; mockProjectContent.ClassNameForGetClass = "Test.Test1"; compilationUnit = new DefaultCompilationUnit(mockProjectContent); compilationUnit.FileName = @"C:\Projects\Test\test.py"; parseInfo.SetCompilationUnit(compilationUnit); string python = "a = Test1()\r\n" + "a"; ExpressionResult expressionResult = new ExpressionResult("a", new DomRegion(2, 1), null, null); resolveResult = resolver.Resolve(expressionResult, parseInfo, python) as LocalResolveResult; }
public void NullFileContent() { ExpressionResult result = new ExpressionResult("test", new DomRegion(0, 0), null, null); Assert.IsNull(resolver.Resolve(result, emptyParseInfo, null)); }