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); }
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); }
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); }
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); }
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); }