Exemple #1
0
        public async Task MigrateClassAsync_Correctly_Builds_Complex_Module_Middleware_Class()
        {
            var complexSyntaxTree    = SyntaxFactory.ParseSyntaxTree(InputComplexClassText);
            var complexSemanticModel = CSharpCompilation.Create("TestCompilation", new[] { complexSyntaxTree }).GetSemanticModel(complexSyntaxTree);
            var complexClassDec      = complexSyntaxTree.GetRoot().DescendantNodes().OfType <ClassDeclarationSyntax>().Single();
            var complexTypeSymbol    = complexSemanticModel.GetDeclaredSymbol(complexClassDec);

            var complexConverter = new HttpModuleClassConverter(InputRelativePath,
                                                                ClassConverterSetupFixture.TestProjectDirectoryPath,
                                                                complexSemanticModel,
                                                                complexClassDec,
                                                                complexTypeSymbol,
                                                                new LifecycleManagerService(),
                                                                new TaskManagerService(),
                                                                new WebFormMetricContext());

            var fileInfo = await complexConverter.MigrateClassAsync();

            Assert.AreEqual(2, fileInfo.Count());

            var fileText1 = Encoding.UTF8.GetString(fileInfo.First().FileBytes);
            var fileText2 = Encoding.UTF8.GetString(fileInfo.Last().FileBytes);

            Assert.AreEqual(ExpectedOutputComplexClassText1, fileText1);
            Assert.AreEqual(ExpectedOutputComplexClassText2, fileText2);
        }
Exemple #2
0
        public async Task MigrateClassAsync_Correctly_Identifies_Events_Without_EventHandler_Object_Creation_Or_Member_Access()
        {
            var testSyntaxTree    = SyntaxFactory.ParseSyntaxTree(InputClassNoEventHandlerObjectCreationTextOrMemberAccess);
            var testSemanticModel = CSharpCompilation.Create("TestCompilation", new[] { testSyntaxTree }).GetSemanticModel(testSyntaxTree);
            var testClassDec      = testSyntaxTree.GetRoot().DescendantNodes().OfType <ClassDeclarationSyntax>().Single();
            var testTypeSymbol    = testSemanticModel.GetDeclaredSymbol(testClassDec);

            var testConverter = new HttpModuleClassConverter(InputRelativePath,
                                                             ClassConverterSetupFixture.TestProjectDirectoryPath,
                                                             testSemanticModel,
                                                             testClassDec,
                                                             testTypeSymbol,
                                                             new LifecycleManagerService(),
                                                             new TaskManagerService(),
                                                             new WebFormMetricContext());

            var fileInfo = await testConverter.MigrateClassAsync();

            Assert.AreEqual(1, fileInfo.Count());

            var fileText1 = Encoding.UTF8.GetString(fileInfo.Single().FileBytes);

            Assert.AreEqual(ExpectedOutputNoEventHandlerObjectCreation, fileText1);
        }
Exemple #3
0
        public async Task MigrateClassAsync_Maps_New_Relative_Path_To_Correct_Location()
        {
            var fileInfo = (await _converter.MigrateClassAsync()).Single();

            Assert.AreEqual(ExpectedOutputPath, fileInfo.RelativePath);
        }