Пример #1
0
        public async Task TestFindReferencesAsynchronousCall()
        {
            using (var workspace = TestWorkspace.CreateCSharp("class C { C() { new C(); } }"))
            {
                var context   = new MockFindUsagesContext();
                var presenter = new MockStreamingFindUsagesPresenter(context);

                var listenerProvider = new AsynchronousOperationListenerProvider();

                var handler = new FindReferencesCommandHandler(
                    SpecializedCollections.SingletonEnumerable(new Lazy <IStreamingFindUsagesPresenter>(() => presenter)),
                    listenerProvider);

                var textView = workspace.Documents[0].GetTextView();
                textView.Caret.MoveTo(new SnapshotPoint(textView.TextSnapshot, 7));
                handler.ExecuteCommand(new FindReferencesCommandArgs(
                                           textView,
                                           textView.TextBuffer), TestCommandExecutionContext.Create());

                var waiter = listenerProvider.GetWaiter(FeatureAttribute.FindReferences);
                await waiter.CreateWaitTask();

                AssertResult(context.Result, "C.C()", "class C");
            }
        }
Пример #2
0
        public async Task TestFindReferencesAsynchronousCall()
        {
            using var workspace = TestWorkspace.CreateCSharp("class C { C() { new C(); } }");
            var context   = new MockFindUsagesContext();
            var presenter = new MockStreamingFindUsagesPresenter(context);

            var listenerProvider = workspace.ExportProvider.GetExportedValue <IAsynchronousOperationListenerProvider>();

            var handler = new FindReferencesCommandHandler(
                presenter,
                listenerProvider);

            var textView = workspace.Documents[0].GetTextView();

            textView.Caret.MoveTo(new SnapshotPoint(textView.TextSnapshot, 7));
            handler.ExecuteCommand(new FindReferencesCommandArgs(
                                       textView,
                                       textView.TextBuffer), TestCommandExecutionContext.Create());

            var waiter = listenerProvider.GetWaiter(FeatureAttribute.FindReferences);
            await waiter.CreateExpeditedWaitTask();

            AssertResult(context.Result, "C.C()", "class C");
        }