Ejemplo n.º 1
0
        private static VsSafeProjectGuidService CreateInstance(IUnconfiguredProjectTasksService tasksService = null)
        {
            var project = UnconfiguredProjectFactory.Create();

            tasksService = tasksService ?? IUnconfiguredProjectTasksServiceFactory.ImplementPrioritizedProjectLoadedInHost(() => Task.CompletedTask);

            return(new VsSafeProjectGuidService(project, tasksService));
        }
Ejemplo n.º 2
0
        public async Task GetProjectGuidAsync_WhenProjectUnloads_CancelsTask()
        {
            var projectUnloaded = new TaskCompletionSource <object>();
            var tasksService    = IUnconfiguredProjectTasksServiceFactory.ImplementPrioritizedProjectLoadedInHost(() => projectUnloaded.Task);

            var accessor = CreateInstance(tasksService);

            var result = accessor.GetProjectGuidAsync();

            Assert.False(result.IsCanceled);

            // Now "unload" the project
            projectUnloaded.SetCanceled();

            await Assert.ThrowsAnyAsync <OperationCanceledException>(() =>
            {
                return(result);
            });
        }