public void TryCreateFor_IncompatibleHostDocumentBuffer_ReturnsFalse() { // Arrange var uri = new Uri("C:/path/to/file.razor"); var uriProvider = Mock.Of <FileUriProvider>(provider => provider.GetOrCreate(It.IsAny <ITextBuffer>()) == uri); var factory = new TestVirtualDocumentFactory(ContentTypeRegistry, TextBufferFactory, TextDocumentFactoryService, uriProvider); // Act var result = factory.TryCreateFor(NonHostLSPBuffer, out var virtualDocument); // Assert Assert.False(result); Assert.Null(virtualDocument); }
public void TryCreateFor_ReturnsLanguageVirtualDocumentAndTrue() { // Arrange var uri = new Uri("C:/path/to/file.razor"); var uriProvider = Mock.Of <FileUriProvider>(provider => provider.GetOrCreate(HostLSPBuffer) == uri); var factory = new TestVirtualDocumentFactory(ContentTypeRegistry, TextBufferFactory, TextDocumentFactoryService, uriProvider); // Act var result = factory.TryCreateFor(HostLSPBuffer, out var virtualDocument); // Assert Assert.True(result); Assert.NotNull(virtualDocument); Assert.EndsWith(TestVirtualDocumentFactory.LanguageFileNameSuffixConst, virtualDocument.Uri.OriginalString, StringComparison.Ordinal); Assert.Equal(TestVirtualDocumentFactory.LanguageLSPContentTypeInstance, virtualDocument.TextBuffer.ContentType); Assert.True(TestVirtualDocumentFactory.LanguageBufferPropertiesInstance.Keys.All( (key) => virtualDocument.TextBuffer.Properties.TryGetProperty(key, out object value) && TestVirtualDocumentFactory.LanguageBufferPropertiesInstance[key] == value )); }