public DefaultRazorDynamicFileInfoProviderTest()
        {
            DocumentServiceFactory = new DefaultRazorDocumentServiceProviderFactory();
            EditorFeatureDetector  = Mock.Of <LSPEditorFeatureDetector>(MockBehavior.Strict);
            ProjectSnapshotManager = new TestProjectSnapshotManager(Workspace)
            {
                AllowNotifyListeners = true
            };
            var hostProject = new HostProject("C:\\project.csproj", RazorConfiguration.Default, rootNamespace: "TestNamespace");

            ProjectSnapshotManager.ProjectAdded(hostProject);
            var hostDocument1 = new HostDocument("C:\\document1.razor", "document1.razor", FileKinds.Component);

            ProjectSnapshotManager.DocumentAdded(hostProject, hostDocument1, new EmptyTextLoader(hostDocument1.FilePath));
            var hostDocument2 = new HostDocument("C:\\document2.razor", "document2.razor", FileKinds.Component);

            ProjectSnapshotManager.DocumentAdded(hostProject, hostDocument2, new EmptyTextLoader(hostDocument2.FilePath));
            Project   = ProjectSnapshotManager.GetSnapshot(hostProject);
            Document1 = (DefaultDocumentSnapshot)Project.GetDocument(hostDocument1.FilePath);
            Document2 = (DefaultDocumentSnapshot)Project.GetDocument(hostDocument2.FilePath);

            Provider     = new DefaultRazorDynamicFileInfoProvider(DocumentServiceFactory, EditorFeatureDetector);
            TestAccessor = Provider.GetTestAccessor();
            Provider.Initialize(ProjectSnapshotManager);

            var lspDocumentContainer = new Mock <DynamicDocumentContainer>(MockBehavior.Strict);

            lspDocumentContainer.SetupSet(c => c.SupportsDiagnostics = true).Verifiable();
            lspDocumentContainer.Setup(container => container.GetTextLoader(It.IsAny <string>())).Returns(new EmptyTextLoader(string.Empty));
            LSPDocumentContainer = lspDocumentContainer.Object;
        }
        public void UpdateLSPFileInfo_UnknownFile_Noops()
        {
            // Arrange
            var provider = new DefaultRazorDynamicFileInfoProvider(DocumentServiceFactory);

            provider.Updated += (sender, args) => throw new XunitException("Should not have been called.");

            // Act & Assert
            provider.UpdateLSPFileInfo(new Uri("C:/this/does/not/exist.razor"), Mock.Of <DynamicDocumentContainer>());
        }
        public void UpdateLSPFileInfo_UnknownFile_Noops()
        {
            // Arrange
            var provider = new DefaultRazorDynamicFileInfoProvider(DocumentServiceFactory, EditorFeatureDetector);

            provider.Updated += (sender, args) => throw new XunitException("Should not have been called.");

            // Act & Assert
            var documentContainer = new Mock <DynamicDocumentContainer>(MockBehavior.Strict);

            documentContainer.SetupSet(c => c.SupportsDiagnostics = true).Verifiable();
            provider.UpdateLSPFileInfo(new Uri("C:/this/does/not/exist.razor"), documentContainer.Object);
        }