コード例 #1
0
        public void Create_BuildsLSPDocumentWithTextBufferURI()
        {
            // Arrange
            var textBuffer  = Mock.Of <ITextBuffer>();
            var uri         = new Uri("C:/path/to/file.razor");
            var uriProvider = Mock.Of <FileUriProvider>(p => p.GetOrCreate(textBuffer) == uri);
            var factory     = new DefaultLSPDocumentFactory(uriProvider, Enumerable.Empty <VirtualDocumentFactory>());

            // Act
            var lspDocument = factory.Create(textBuffer);

            // Assert
            Assert.Same(uri, lspDocument.Uri);
        }
コード例 #2
0
        public void Create_MultipleFactories_CreatesLSPDocumentWithVirtualDocuments()
        {
            // Arrange
            var textBuffer       = Mock.Of <ITextBuffer>();
            var uri              = new Uri("C:/path/to/file.razor");
            var uriProvider      = Mock.Of <FileUriProvider>(p => p.GetOrCreate(textBuffer) == uri);
            var virtualDocument1 = Mock.Of <VirtualDocument>();
            var factory1         = Mock.Of <VirtualDocumentFactory>(f => f.TryCreateFor(textBuffer, out virtualDocument1) == true);
            var virtualDocument2 = Mock.Of <VirtualDocument>();
            var factory2         = Mock.Of <VirtualDocumentFactory>(f => f.TryCreateFor(textBuffer, out virtualDocument2) == true);
            var factory          = new DefaultLSPDocumentFactory(uriProvider, new[] { factory1, factory2 });

            // Act
            var lspDocument = factory.Create(textBuffer);

            // Assert
            Assert.Collection(
                lspDocument.VirtualDocuments,
                virtualDocument => Assert.Same(virtualDocument1, virtualDocument),
                virtualDocument => Assert.Same(virtualDocument2, virtualDocument));
        }