コード例 #1
0
ファイル: PreviewTests.cs プロジェクト: tinaschrepfer/roslyn
        public void TestPickTheRightPreview_NoPreference()
        {
            using (var workspace = CreateWorkspaceFromFile("class D {}", null, null))
            {
                Document document = null;
                SolutionPreviewResult previews = null;
                GetMainDocumentAndPreviews(workspace, out document, out previews);

                // The changed document comes first.
                var preview = previews.TakeNextPreview();
                Assert.NotNull(preview);
                Assert.True(preview is IWpfDifferenceViewer);
                var diffView = preview as IWpfDifferenceViewer;
                var text     = diffView.RightView.TextBuffer.AsTextContainer().CurrentText.ToString();
                Assert.Equal(ChangedDocumentText, text);
                diffView.Close();

                // The added document comes next.
                preview = previews.TakeNextPreview();
                Assert.NotNull(preview);
                Assert.True(preview is IWpfDifferenceViewer);
                diffView = preview as IWpfDifferenceViewer;
                text     = diffView.RightView.TextBuffer.AsTextContainer().CurrentText.ToString();
                Assert.Contains(AddedDocumentName, text, StringComparison.Ordinal);
                Assert.Contains(AddedDocumentText, text, StringComparison.Ordinal);
                diffView.Close();

                // Then comes the removed metadata reference.
                preview = previews.TakeNextPreview();
                Assert.NotNull(preview);
                Assert.True(preview is string);
                text = preview as string;
                Assert.Contains(s_removedMetadataReferenceDisplayName, text, StringComparison.Ordinal);

                // And finally the added project.
                preview = previews.TakeNextPreview();
                Assert.NotNull(preview);
                Assert.True(preview is string);
                text = preview as string;
                Assert.Contains(AddedProjectName, text, StringComparison.Ordinal);

                // There are no more previews.
                preview = previews.TakeNextPreview();
                Assert.Null(preview);
                preview = previews.TakeNextPreview();
                Assert.Null(preview);
            }
        }
コード例 #2
0
ファイル: PreviewTests.cs プロジェクト: tinaschrepfer/roslyn
        public void TestPickTheRightPreview_WithPreference()
        {
            using (var workspace = CreateWorkspaceFromFile("class D {}", null, null))
            {
                Document document = null;
                SolutionPreviewResult previews = null;
                GetMainDocumentAndPreviews(workspace, out document, out previews);

                // Should return preview that matches the preferred (added) project.
                var preview = previews.TakeNextPreview(preferredProjectId: s_addedProjectId);
                Assert.NotNull(preview);
                Assert.True(preview is string);
                var text = preview as string;
                Assert.Contains(AddedProjectName, text, StringComparison.Ordinal);

                // Should return preview that matches the preferred (changed) document.
                preview = previews.TakeNextPreview(preferredDocumentId: document.Id);
                Assert.NotNull(preview);
                Assert.True(preview is IWpfDifferenceViewer);
                var diffView = preview as IWpfDifferenceViewer;
                text = diffView.RightView.TextBuffer.AsTextContainer().CurrentText.ToString();
                Assert.Equal(ChangedDocumentText, text);
                diffView.Close();

                // There is no longer a preview for the preferred project. Should return the first remaining preview.
                preview = previews.TakeNextPreview(preferredProjectId: s_addedProjectId);
                Assert.NotNull(preview);
                Assert.True(preview is IWpfDifferenceViewer);
                diffView = preview as IWpfDifferenceViewer;
                text     = diffView.RightView.TextBuffer.AsTextContainer().CurrentText.ToString();
                Assert.Contains(AddedDocumentName, text, StringComparison.Ordinal);
                Assert.Contains(AddedDocumentText, text, StringComparison.Ordinal);
                diffView.Close();

                // There is no longer a preview for the  preferred document. Should return the first remaining preview.
                preview = previews.TakeNextPreview(preferredDocumentId: document.Id);
                Assert.NotNull(preview);
                Assert.True(preview is string);
                text = preview as string;
                Assert.Contains(s_removedMetadataReferenceDisplayName, text, StringComparison.Ordinal);

                // There are no more previews.
                preview = previews.TakeNextPreview();
                Assert.Null(preview);
                preview = previews.TakeNextPreview();
                Assert.Null(preview);
            }
        }