コード例 #1
0
        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);
        }
コード例 #2
0
        public ResolveResult Resolve(string expression)
        {
            ExpressionResult      expressionResult = new ExpressionResult(expression);
            PythonResolverContext context          = new PythonResolverContext(ParseInfo, expressionResult, String.Empty);

            ResolveResult = Resolver.Resolve(context);
            return(ResolveResult);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        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;
        }
コード例 #6
0
        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;
        }
コード例 #7
0
        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;
        }
コード例 #8
0
        public void NullFileContent()
        {
            ExpressionResult result = new ExpressionResult("test", new DomRegion(0, 0), null, null);

            Assert.IsNull(resolver.Resolve(result, emptyParseInfo, null));
        }