예제 #1
0
        public void TryResolveDocument_AsksMiscellaneousProjectForDocumentItIsNotTracking_ReturnsFalse()
        {
            // Arrange
            var documentFilePath   = "C:\\path\\to\\document.cshtml";
            var filePathNormalizer = new FilePathNormalizer();
            var project            = Mock.Of <ProjectSnapshot>(shim => shim.DocumentFilePaths == new string[0]);
            var projectResolver    = Mock.Of <ProjectResolver>(resolver => resolver.GetMiscellaneousProject() == project);
            var documentResolver   = new DefaultDocumentResolver(Dispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.False(result);
            Assert.Null(document);
        }
예제 #2
0
        public void TryResolveDocument_AsksPotentialParentProjectForDocumentItsNotTracking_ReturnsFalse()
        {
            // Arrange
            var documentFilePath   = "C:\\path\\to\\document.cshtml";
            var normalizedFilePath = "/C:/path/to/document.cshtml";
            var filePathNormalizer = new FilePathNormalizer();
            var project            = Mock.Of <ProjectSnapshot>(shim => shim.DocumentFilePaths == new string[0]);
            var projectResolver    = Mock.Of <ProjectResolver>(resolver => resolver.TryResolvePotentialProject(normalizedFilePath, out project) == true);
            var documentResolver   = new DefaultDocumentResolver(Dispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.False(result);
            Assert.Null(document);
        }
예제 #3
0
        public void TryResolveDocument_AsksMiscellaneousProjectForDocumentItIsTracking_ReturnsTrue()
        {
            // Arrange
            var documentFilePath   = "C:\\path\\to\\document.cshtml";
            var normalizedFilePath = "C:/path/to/document.cshtml";
            var filePathNormalizer = new FilePathNormalizer();
            var expectedDocument   = Mock.Of <DocumentSnapshot>();
            var project            = Mock.Of <ProjectSnapshot>(shim => shim.GetDocument(normalizedFilePath) == expectedDocument);
            var projectResolver    = Mock.Of <ProjectResolver>(resolver => resolver.TryResolveProject(normalizedFilePath, out project, true) == true);
            var documentResolver   = new DefaultDocumentResolver(Dispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.True(result);
            Assert.Same(expectedDocument, document);
        }
        public void TryResolveDocument_AsksPotentialParentProjectForDocumentItsTracking_ReturnsTrue()
        {
            // Arrange
            var documentFilePath   = "C:\\path\\to\\document.cshtml";
            var normalizedFilePath = "C:/path/to/document.cshtml";
            var filePathNormalizer = new FilePathNormalizer();
            var expectedDocument   = Mock.Of <DocumentSnapshot>(MockBehavior.Strict);
            var project            = Mock.Of <ProjectSnapshot>(shim => shim.GetDocument(normalizedFilePath) == expectedDocument, MockBehavior.Strict);
            var projectResolver    = Mock.Of <ProjectResolver>(resolver => resolver.TryResolveProject(normalizedFilePath, out project, true) == true, MockBehavior.Strict);
            var documentResolver   = new DefaultDocumentResolver(LegacyDispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.True(result);
            Assert.Equal(expectedDocument, document);
        }
예제 #5
0
        public void TryResolveDocument_AsksPotentialParentProjectForDocumentItsNotTrackingAndMiscellaneousProjectIsNotTrackingEither_ReturnsFalse()
        {
            // Arrange
            var             documentFilePath   = "C:\\path\\to\\document.cshtml";
            var             normalizedFilePath = "C:/path/to/document.cshtml";
            var             filePathNormalizer = new FilePathNormalizer();
            var             project            = Mock.Of <ProjectSnapshot>(shim => shim.DocumentFilePaths == Array.Empty <string>());
            var             miscProject        = Mock.Of <ProjectSnapshot>(shim => shim.DocumentFilePaths == Array.Empty <string>());
            ProjectSnapshot noProject          = null;
            var             projectResolver    = Mock.Of <ProjectResolver>(resolver =>
                                                                           resolver.TryResolveProject(normalizedFilePath, out noProject, true) == false);
            var documentResolver = new DefaultDocumentResolver(Dispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.False(result);
            Assert.Null(document);
        }
예제 #6
0
        public void TryResolveDocument_AsksPotentialParentProjectForDocumentItsNotTrackingButMiscellaneousProjectIs_ReturnsTrue()
        {
            // Arrange
            var documentFilePath   = "C:\\path\\to\\document.cshtml";
            var normalizedFilePath = "C:/path/to/document.cshtml";
            var filePathNormalizer = new FilePathNormalizer();
            var expectedDocument   = Mock.Of <DocumentSnapshot>(MockBehavior.Strict);
            var project            = Mock.Of <ProjectSnapshot>(shim => shim.DocumentFilePaths == Array.Empty <string>(), MockBehavior.Strict);
            var miscProject        = Mock.Of <ProjectSnapshot>(shim => shim.GetDocument(normalizedFilePath) == expectedDocument, MockBehavior.Strict);
            var projectResolver    = Mock.Of <ProjectResolver>(resolver =>
                                                               resolver.TryResolveProject(normalizedFilePath, out miscProject, true) == true, MockBehavior.Strict);
            var documentResolver = new DefaultDocumentResolver(Dispatcher, projectResolver, filePathNormalizer);

            // Act
            var result = documentResolver.TryResolveDocument(documentFilePath, out var document);

            // Assert
            Assert.True(result);
            Assert.Same(expectedDocument, document);
        }