コード例 #1
0
        public void TryGetWorkspace_CanGetWorkspaceFromBuffersInHierarchyOrProjectionBuffers()
        {
            // Arrange
            var textBuffer        = Mock.Of <ITextBuffer>(MockBehavior.Strict);
            var workspaceAccessor = new TestWorkspaceAccessor(true, true);

            // Act
            var result = workspaceAccessor.TryGetWorkspace(textBuffer, out _);

            // Assert
            Assert.True(result);
        }
        public void TryGetWorkspace_CanGetWorkspaceFromProjectionBuffersOnly()
        {
            // Arrange
            var textBuffer        = Mock.Of <ITextBuffer>();
            var workspaceAccessor = new TestWorkspaceAccessor(true, false);

            // Act
            var result = workspaceAccessor.TryGetWorkspace(textBuffer, out var workspace);

            // Assert
            Assert.True(result);
        }
        public void TryGetWorkspace_CanGetWorkspaceFromBuffersInHierarchyOnly()
        {
            // Arrange
            var textBuffer        = Mock.Of <ITextBuffer>();
            var workspaceAccessor = new TestWorkspaceAccessor(false, true);

            // Act
            var result = workspaceAccessor.TryGetWorkspace(textBuffer, out var workspace);

            // Assert
            Assert.True(result);
        }
        public void TryGetWorkspace_PrioritizesLiveShareWhenResolvingWorkspaces()
        {
            // Arrange
            var expectedWorkspace          = TestWorkspace.Create();
            var liveShareWorkspaceProvider = new Mock <LiveShareWorkspaceProvider>();

            liveShareWorkspaceProvider.Setup(provider => provider.TryGetWorkspace(It.IsAny <ITextBuffer>(), out expectedWorkspace))
            .Returns(true);
            var workspaceAccessor = new TestWorkspaceAccessor(canGetWorkspaceFromProjectionBuffer: true, canGetWorkspaceFromHostProject: true, liveShareWorkspaceProvider.Object);
            var textBuffer        = Mock.Of <ITextBuffer>();

            // Act
            var result = workspaceAccessor.TryGetWorkspace(textBuffer, out var workspace);

            // Assert
            Assert.True(result);
            Assert.Same(expectedWorkspace, workspace);
        }