private static UnconfiguredProjectTasksService CreateInstance(IProjectAsynchronousTasksService tasksService = null, ILoadedInHostListener loadedInHostListener = null)
        {
            tasksService         = tasksService ?? IProjectAsynchronousTasksServiceFactory.Create();
            loadedInHostListener = loadedInHostListener ?? ILoadedInHostListenerFactory.Create();

            return(new UnconfiguredProjectTasksService(tasksService, IProjectThreadingServiceFactory.Create(), loadedInHostListener));
        }
        private static UnconfiguredProjectTasksService CreateInstance(IProjectAsynchronousTasksService?tasksService = null, ILoadedInHostListener?loadedInHostListener = null, ISolutionService?solutionService = null)
        {
            tasksService ??= IProjectAsynchronousTasksServiceFactory.Create();
            loadedInHostListener ??= ILoadedInHostListenerFactory.Create();
            solutionService ??= ISolutionServiceFactory.Create();

            return(new UnconfiguredProjectTasksService(tasksService, IProjectThreadingServiceFactory.Create(), loadedInHostListener, solutionService));
        }
        public void OnProjectFactoryCompleted_StartsLoadedInHostListening()
        {
            int callCount            = 0;
            var loadedInHostListener = ILoadedInHostListenerFactory.ImplementStartListeningAsync(() => { callCount++; });

            var service = CreateInstance(loadedInHostListener: loadedInHostListener);

            service.OnProjectFactoryCompleted();

            Assert.Equal(1, callCount);
        }