public void ProjectState_WithHostProject_NoConfigurationChange_Noops() { // Arrange var original = new ProjectState(Workspace.Services, HostProject, WorkspaceProject) .AddHostDocument(Documents[2]) .AddHostDocument(Documents[1]); // Force init GC.KeepAlive(original.ProjectEngine); GC.KeepAlive(original.TagHelpers); // Act var state = original.WithHostProject(HostProject); // Assert Assert.Same(original, state); }
public void ProjectState_WithHostProject_ConfigurationChange_UpdatesComputedState() { // Arrange var original = new ProjectState(Workspace.Services, HostProject, WorkspaceProject) .AddHostDocument(Documents[2]) .AddHostDocument(Documents[1]); // Force init GC.KeepAlive(original.ProjectEngine); GC.KeepAlive(original.TagHelpers); // Act var state = original.WithHostProject(HostProjectWithConfigurationChange); // Assert Assert.NotEqual(original.Version, state.Version); Assert.Same(HostProjectWithConfigurationChange, state.HostProject); Assert.NotSame(original.ProjectEngine, state.ProjectEngine); Assert.NotSame(original.TagHelpers, state.TagHelpers); Assert.NotSame(original.Documents[Documents[1].FilePath], state.Documents[Documents[1].FilePath]); Assert.NotSame(original.Documents[Documents[1].FilePath], state.Documents[Documents[1].FilePath]); }