public void GetChangedAndRemovedDocuments_ReturnsChangedContentAndNoneItems() { // Arrange var afterChangeContentItems = new ItemCollection(ManagedProjectSystemSchema.ContentItem.SchemaName); ContentItems.Item("Index.cshtml", new Dictionary <string, string>() { [ItemReference.LinkPropertyName] = "NewIndex.cshtml", [ItemReference.FullPathPropertyName] = "C:\\From\\Index.cshtml", }); var afterChangeNoneItems = new ItemCollection(ManagedProjectSystemSchema.NoneItem.SchemaName); NoneItems.Item("About.cshtml", new Dictionary <string, string>() { [ItemReference.LinkPropertyName] = "NewAbout.cshtml", [ItemReference.FullPathPropertyName] = "C:\\From\\About.cshtml", }); var services = new TestProjectSystemServices("C:\\To\\Test.csproj"); var host = new TestFallbackRazorProjectHost(services, Workspace, RazorProjectChangePublisher, ProjectManager); var changes = new TestProjectChangeDescription[] { afterChangeContentItems.ToChange(ContentItems.ToSnapshot()), afterChangeNoneItems.ToChange(NoneItems.ToSnapshot()), }; var update = services.CreateUpdate(changes).Value; // Act var result = host.GetChangedAndRemovedDocuments(update); // Assert Assert.Collection( result, document => { Assert.Equal("C:\\From\\Index.cshtml", document.FilePath); Assert.Equal("C:\\To\\NewIndex.cshtml", document.TargetPath); }, document => { Assert.Equal("C:\\From\\About.cshtml", document.FilePath); Assert.Equal("C:\\To\\NewAbout.cshtml", document.TargetPath); }); }