public void TryGetVirtualCSharpDocument_CSharpDocument_ReturnsTrue() { // Arrange var testVirtualDocument = new TestVirtualDocument(); var lspDocument = new DefaultLSPDocument(Uri, Mock.Of <ITextBuffer>(), new[] { Mock.Of <VirtualDocument>(), testVirtualDocument }); // Act var result = lspDocument.TryGetVirtualDocument <TestVirtualDocument>(out var virtualDocument); // Assert Assert.True(result); Assert.Same(testVirtualDocument, virtualDocument); }
public void UpdateVirtualDocument_UpdatesProvidedVirtualDocumentWithProvidedArgs_AndRecalcsSnapshot() { // Arrange var snapshot = Mock.Of <ITextSnapshot>(s => s.Version == Mock.Of <ITextVersion>()); var textBuffer = Mock.Of <ITextBuffer>(buffer => buffer.CurrentSnapshot == snapshot); var virtualDocument = new TestVirtualDocument(); var document = new DefaultLSPDocument(Uri, textBuffer, new[] { virtualDocument }); var changes = Array.Empty <TextChange>(); var originalSnapshot = document.CurrentSnapshot; // Act document.UpdateVirtualDocument <TestVirtualDocument>(changes, hostDocumentVersion: 1337); // Assert Assert.Equal(1337, virtualDocument.HostDocumentSyncVersion); Assert.Same(changes, virtualDocument.Changes); Assert.NotEqual(originalSnapshot, document.CurrentSnapshot); }