public void DocumentManager_Changed_Removed_Noops()
        {
            // Arrange
            var lspDocumentMappingProvider = new Mock <LSPDocumentMappingProvider>(MockBehavior.Strict);
            var fileInfoProvider           = new Mock <RazorDynamicFileInfoProvider>(MockBehavior.Strict);
            var publisher = new CSharpVirtualDocumentPublisher(fileInfoProvider.Object, lspDocumentMappingProvider.Object);

            // Act & Assert
            publisher.Changed(old: Mock.Of <LSPDocumentSnapshot>(MockBehavior.Strict), @new: null, virtualOld: null, virtualNew: null, LSPDocumentChangeKind.Removed);
        }
        public void DocumentManager_Changed_VirtualDocumentChanged_UpdatesFileInfo()
        {
            // Arrange
            var csharpSnapshot             = new CSharpVirtualDocumentSnapshot(new Uri("C:/path/to/something.razor.g.cs"), Mock.Of <ITextSnapshot>(MockBehavior.Strict), hostDocumentSyncVersion: 1337);
            var lspDocument                = new TestLSPDocumentSnapshot(new Uri("C:/path/to/something.razor"), 1337, csharpSnapshot);
            var fileInfoProvider           = new Mock <RazorDynamicFileInfoProvider>(MockBehavior.Strict);
            var lspDocumentMappingProvider = new Mock <LSPDocumentMappingProvider>(MockBehavior.Strict);

            fileInfoProvider.Setup(provider => provider.UpdateLSPFileInfo(lspDocument.Uri, It.IsAny <DynamicDocumentContainer>()))
            .Verifiable();
            var publisher = new CSharpVirtualDocumentPublisher(fileInfoProvider.Object, lspDocumentMappingProvider.Object);

            // Act
            publisher.Changed(old: Mock.Of <LSPDocumentSnapshot>(MockBehavior.Strict),
                              @new: lspDocument,
                              virtualOld: Mock.Of <VirtualDocumentSnapshot>(MockBehavior.Strict),
                              virtualNew: csharpSnapshot,
                              LSPDocumentChangeKind.VirtualDocumentChanged);

            // Assert
            fileInfoProvider.VerifyAll();
        }