public void TestInitialize()
        {
            ThreadHelper.SetCurrentThreadAsUIThread();

            monitorSelectionMock = new Mock <IVsMonitorSelection>();
            adapterServiceMock   = new Mock <IVsEditorAdaptersFactoryService>();

            testSubject = new ActiveDocumentLocator(monitorSelectionMock.Object, adapterServiceMock.Object);

            frameMock        = new Mock <IVsWindowFrame>();
            vsTextBufferMock = new Mock <IVsTextBuffer>();
        }
        public void TestInitialize()
        {
            ThreadHelper.SetCurrentThreadAsUIThread();

            monitorSelectionMock     = new Mock <IVsMonitorSelection>();
            textDocumentProviderMock = new Mock <ITextDocumentProvider>();
            textDocument             = Mock.Of <ITextDocument>();

            var serviceProviderMock = new Mock <IServiceProvider>();

            serviceProviderMock
            .Setup(x => x.GetService(typeof(SVsShellMonitorSelection)))
            .Returns(monitorSelectionMock.Object);

            testSubject = new ActiveDocumentLocator(serviceProviderMock.Object, textDocumentProviderMock.Object);
        }
        /// <summary>
        /// Initializes the singleton instance of the command.
        /// </summary>
        /// <param name="package">Owner package, not null.</param>
        public static async Task InitializeAsync(AsyncPackage package, ILogger logger)
        {
            // Switch to the main thread - the call to AddCommand in Command1's constructor requires
            // the UI thread.
            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(package.DisposalToken);

            var monitorSelection = await package.GetServiceAsync(typeof(SVsShellMonitorSelection)) as IVsMonitorSelection;

            var adapterService = await package.GetMefServiceAsync <IVsEditorAdaptersFactoryService>();

            var docLocator = new ActiveDocumentLocator(monitorSelection, adapterService);

            var languageRecognizer = await package.GetMefServiceAsync <ISonarLanguageRecognizer>();

            var requester = await package.GetMefServiceAsync <IAnalysisRequester>();

            IMenuCommandService commandService = (IMenuCommandService)await package.GetServiceAsync(typeof(IMenuCommandService));

            Instance = new CFamilyReproducerCommand(commandService, docLocator, languageRecognizer, requester, logger);
        }