public async Task ExtractsMethodCallsBetweenServiceAndRepositoryClasses_When_EF60_NWProjectIsUsed() { //Arrange Solution solution = await new RoslynSolutionGenerator().GetSolutionAsync(@"..\..\..\..\ProjectsUnderTest\EF60_NW\EF60_NW.sln"); var progressIndicator = new ProgressStub(); var context = new ContextStub <EntityFramework>(); var dataContextDecExtr = new DataContextDeclarationExtractor(context); await dataContextDecExtr.FindDataContextDeclarationsAsync(solution, progressIndicator); var dbEntityExtractor = new DatabaseEntityDeclarationExtractorUsingDbContextProperties(context); await dbEntityExtractor.FindDatabaseEntityDeclarationsAsync(solution, progressIndicator); var dbAccessingMethodCallsExtractor = new DatabaseAccessingMethodCallExtractor(context); await dbAccessingMethodCallsExtractor.FindDatabaseAccessingMethodCallsAsync(solution, progressIndicator); var target = new CodeExecutionPathGenerator(context); //Act await target.GenerateCodeExecutionPathsAsync(solution, progressIndicator); //Assert Assert.IsTrue(target.CodeExecutionPaths.Count() == 2); }
public async Task DetectsThreeDatabaseEntityDeclarations_When_EF60_NWProjectIsUsed() { //Arrange Solution EF60_NWSolution = await new RoslynSolutionGenerator().GetSolutionAsync(@"..\..\..\..\ProjectsUnderTest\EF60_NW\EF60_NW.sln"); var progressIndicator = new ProgressStub(); Context <EntityFramework> context = new ContextStub <EntityFramework>(); var dataContextDecExtr = new DataContextDeclarationExtractor(context); await dataContextDecExtr.FindDataContextDeclarationsAsync(EF60_NWSolution, progressIndicator); var target = new DatabaseEntityDeclarationExtractorUsingDbContextProperties(context); //Act await target.FindDatabaseEntityDeclarationsAsync(EF60_NWSolution, progressIndicator); //Assert Assert.IsTrue(target.DatabaseEntityDeclarations.Count == 3); IEnumerable <string> dbEntityNames = target.DatabaseEntityDeclarations.Select(d => d.Name); Assert.IsTrue(dbEntityNames.Contains("Customer")); Assert.IsTrue(dbEntityNames.Contains("Order")); Assert.IsTrue(dbEntityNames.Contains("OrderItem")); Assert.IsTrue(context.DatabaseEntityDeclarations == target.DatabaseEntityDeclarations); }
public async Task ExtractsDatabaseAccessingMethodCallsWithRightParentMethodNames_When_EF60_NWProjectIsUsed() { //Arrange Solution solution = await new RoslynSolutionGenerator().GetSolutionAsync(@"..\..\..\..\ProjectsUnderTest\EF60_NW\EF60_NW.sln"); var progressIndicator = new ProgressStub(); var context = new ContextStub <EntityFramework>(); var dataContextDecExtr = new DataContextDeclarationExtractor(context); await dataContextDecExtr.FindDataContextDeclarationsAsync(solution, progressIndicator); var dbEntityExtractor = new DatabaseEntityDeclarationExtractorUsingDbContextProperties(context); await dbEntityExtractor.FindDatabaseEntityDeclarationsAsync(solution, progressIndicator); var target = new DatabaseAccessingMethodCallExtractor(context); //Act await target.FindDatabaseAccessingMethodCallsAsync(solution, progressIndicator); var result = target.DatabaseAccessingMethodCalls; var parentMethodNames = result.Select(d => d.ParentMethodName); //Assert Assert.IsTrue(parentMethodNames.Contains("GetCustomerUsingQuerySyntaxAndAssignToVariable")); Assert.IsTrue(parentMethodNames.Contains("GetCustomerUsingQuerySyntax")); Assert.IsTrue(parentMethodNames.Contains("GetCustomerUsingMethodSyntax")); Assert.IsTrue(parentMethodNames.Contains("GetCustomerUsingMethodSyntaxAndAssignToVariable")); Assert.IsTrue(parentMethodNames.Contains("GetCustomerUsingMethodSyntaxAndQueryIsChangedInMultipleLines")); Assert.IsTrue(parentMethodNames.Contains("DoSomething")); }
public void SetUp() { WFAppHost.ConfigureBootstrap(false); LangMan.DefInit(); fBaseWin = new BaseWindowStub(); AppHost.Container.Register <IProgressController, ProgressStub>(LifeCycle.Singleton, true); fProgress = new ProgressStub(); }
public void SetUp() { // for static initialization GEDCOMProvider.SkipEmptyTag((int)GEDCOMTagType._AWARD); WFAppHost.ConfigureBootstrap(false); LangMan.DefInit(); fBaseWin = new BaseWindowStub(); AppHost.Container.Register <IProgressController, ProgressStub>(LifeCycle.Singleton, true); fProgress = new ProgressStub(); }
public async Task DetectsDbContextClasses_When_VirtoCommerceSolutionIsCompiled() { //Arrange Solution EF60_NWSolution = await new RoslynSolutionGenerator().GetSolutionAsync(@"..\..\..\..\..\..\vc-community\PLATFORM\VirtoCommerce.WebPlatform.sln"); //ToDo: Use target builder instead Context <EntityFramework> context = new ContextStub <EntityFramework>(); var target = new DataContextDeclarationExtractor(context); var progressIndicator = new ProgressStub(); //Act await target.FindDataContextDeclarationsAsync(EF60_NWSolution, progressIndicator); //Assert Assert.IsTrue(target.DataContextDeclarations.Count == 15); }
public async Task DetectsDatabaseEntityDeclarations_When_RoslynComplexSolutionIsUsed() { //Arrange var solGen = new RoslynComplexSolutionGenerator(); var solution = solGen.GetRoslynSolution(); //ToDo: change to use TargetBuilder Context <LINQToSQL> context = new ContextStub <LINQToSQL>(); target = new DatabaseEntityDeclarationExtractor(context); var progressIndicator = new ProgressStub(); //Act await target.FindDatabaseEntityDeclarationsAsync(solution, progressIndicator); var result = target.DatabaseEntityDeclarations; //Assert Assert.IsTrue(result.Count() == 3); Assert.IsTrue(result.ToList().Exists(x => x.Name == "Customer")); Assert.IsTrue(result.ToList().Exists(x => x.Name == "Order")); Assert.IsTrue(result.ToList().Exists(x => x.Name == "OrderItem")); }
public async Task DetectsDbContextClasses_When_EF60_NWProjectIsCompiled() { //Arrange Solution EF60_NWSolution = await new RoslynSolutionGenerator().GetSolutionAsync(@"..\..\..\..\ProjectsUnderTest\EF60_NW\EF60_NW.sln"); //ToDo: Use target builder instead Context <EntityFramework> context = new ContextStub <EntityFramework>(); var target = new DataContextDeclarationExtractor(context); var progressIndicator = new ProgressStub(); //Act await target.FindDataContextDeclarationsAsync(EF60_NWSolution, progressIndicator); //Assert var item = target.DataContextDeclarations.First(); Assert.IsTrue(target.DataContextDeclarations.Count == 1); Assert.IsTrue(item.Name == "NWDbContext"); Assert.IsTrue(target.DataContextDeclarations.Count == 1); Assert.IsTrue(context.DataContextDeclarations == target.DataContextDeclarations); }
public void Initialize() { progressIndicator = new ProgressStub(); }