Exemple #1
0
        public void TryGetFromDocument_ReturnsTrueIfBothBufferAndVSProviderReturnTrue()
        {
            // Arrange
            var textBuffer           = new Mock <ITextBuffer>().Object;
            var expectedCodeDocument = new Mock <RazorCodeDocument>().Object;
            var bufferProvider       = new Mock <RazorTextBufferProvider>();

            bufferProvider.Setup(provider => provider.TryGetFromDocument(It.IsAny <TextDocument>(), out textBuffer))
            .Returns(true);
            var vsCodeDocumentProvider = new Mock <VisualStudioCodeDocumentProvider>();

            vsCodeDocumentProvider.Setup(provider => provider.TryGetFromBuffer(It.Is <ITextBuffer>(val => val == textBuffer), out expectedCodeDocument))
            .Returns(true);
            var codeDocumentProvider = new DefaultCodeDocumentProvider(bufferProvider.Object, vsCodeDocumentProvider.Object);
            var document             = new Mock <TextDocument>();

            // Act
            var result = codeDocumentProvider.TryGetFromDocument(document.Object, out var codeDocument);

            // Assert
            Assert.True(result);
            Assert.Same(expectedCodeDocument, codeDocument);
        }
Exemple #2
0
        public void TryGetFromDocument_ReturnsFalseIfVSProviderCanNotGetCodeDocument()
        {
            // Arrange
            var textBuffer = new Mock <ITextBuffer>().Object;
            RazorCodeDocument codeDocument;
            var bufferProvider = new Mock <RazorTextBufferProvider>();

            bufferProvider.Setup(provider => provider.TryGetFromDocument(It.IsAny <TextDocument>(), out textBuffer))
            .Returns(true);
            var vsCodeDocumentProvider = new Mock <VisualStudioCodeDocumentProvider>();

            vsCodeDocumentProvider.Setup(provider => provider.TryGetFromBuffer(It.Is <ITextBuffer>(val => val == textBuffer), out codeDocument))
            .Returns(false);
            var codeDocumentProvider = new DefaultCodeDocumentProvider(bufferProvider.Object, vsCodeDocumentProvider.Object);
            var document             = new Mock <TextDocument>();

            // Act
            var result = codeDocumentProvider.TryGetFromDocument(document.Object, out codeDocument);

            // Assert
            Assert.False(result);
            Assert.Null(codeDocument);
        }