public async Task OnProjectRenamed_RemovesHostProject_CopiesConfiguration() { // Arrange var changes = new TestProjectChangeDescription[] { new TestProjectChangeDescription() { RuleName = ManageProjectSystemSchema.ResolvedCompilationReference.SchemaName, After = TestProjectRuleSnapshot.CreateItems(ManageProjectSystemSchema.ResolvedCompilationReference.SchemaName, new Dictionary <string, Dictionary <string, string> >() { { "c:\\nuget\\Microsoft.AspNetCore.Mvc.razor.dll", new Dictionary <string, string>() }, }), }, }; var services = new TestProjectSystemServices("Test.csproj"); var host = new TestFallbackRazorProjectHost(services, Workspace, ProjectManager) { AssemblyVersion = new Version(2, 0), // Mock for reading the assembly's version }; await Task.Run(async() => await host.LoadAsync()); Assert.Empty(ProjectManager.Projects); // Act - 1 await Task.Run(async() => await host.OnProjectChanged(services.CreateUpdate(changes))); // Assert - 1 var snapshot = Assert.Single(ProjectManager.Projects); Assert.Equal("Test.csproj", snapshot.FilePath); Assert.Same(FallbackRazorConfiguration.MVC_2_0, snapshot.Configuration); // Act - 2 services.UnconfiguredProject.FullPath = "Test2.csproj"; await Task.Run(async() => await host.OnProjectRenamingAsync()); // Assert - 1 snapshot = Assert.Single(ProjectManager.Projects); Assert.Equal("Test2.csproj", snapshot.FilePath); Assert.Same(FallbackRazorConfiguration.MVC_2_0, snapshot.Configuration); await Task.Run(async() => await host.DisposeAsync()); Assert.Empty(ProjectManager.Projects); }
public async Task OnProjectRenamed_RemovesHostProject_CopiesConfiguration() { // Arrange ReferenceItems.Item("c:\\nuget\\Microsoft.AspNetCore.Mvc.razor.dll"); var changes = new TestProjectChangeDescription[] { ReferenceItems.ToChange(), }; var services = new TestProjectSystemServices("Test.csproj"); var host = new TestFallbackRazorProjectHost(services, Workspace, RazorProjectChangePublisher, ProjectManager) { AssemblyVersion = new Version(2, 0), // Mock for reading the assembly's version }; await Task.Run(async() => await host.LoadAsync()); Assert.Empty(ProjectManager.Projects); // Act - 1 await Task.Run(async() => await host.OnProjectChanged(services.CreateUpdate(changes))); // Assert - 1 var snapshot = Assert.Single(ProjectManager.Projects); Assert.Equal("Test.csproj", snapshot.FilePath); Assert.Same(FallbackRazorConfiguration.MVC_2_0, snapshot.Configuration); // Act - 2 services.UnconfiguredProject.FullPath = "Test2.csproj"; await Task.Run(async() => await host.OnProjectRenamingAsync()); // Assert - 1 snapshot = Assert.Single(ProjectManager.Projects); Assert.Equal("Test2.csproj", snapshot.FilePath); Assert.Same(FallbackRazorConfiguration.MVC_2_0, snapshot.Configuration); await Task.Run(async() => await host.DisposeAsync()); Assert.Empty(ProjectManager.Projects); }