Exemplo n.º 1
0
    public void ListenToCompletionDoesNotThrowInRelease()
    {
        var provider = Substitutes.GetFullyMockedServiceProvider();

        using (var p = new GitHubServiceProvider(provider))
        {
#if DEBUG
            Assert.ThrowsAny<InvalidOperationException>(() =>
            {
#endif
                p.ListenToCompletionState();
#if DEBUG
            });
#endif
        }
    }
Exemplo n.º 2
0
        async Task<object> CreateService(IAsyncServiceContainer container, CancellationToken cancellationToken, Type serviceType)
        {
            if (serviceType == null)
                return null;

            if (serviceType == typeof(IUIProvider))
            {
                var result = new GitHubServiceProvider(this);
                await result.Initialize();
                return result;
            }
            else if (serviceType == typeof(IMenuProvider))
            {
                var sp = await GetServiceAsync(typeof(IUIProvider)) as IUIProvider;
                return new MenuProvider(sp);
            }
            else if (serviceType == typeof(IUsageTracker))
            {
                var uiProvider = await GetServiceAsync(typeof(IUIProvider)) as IUIProvider;
                return new UsageTracker(uiProvider);
            }
            // go the mef route
            else
            {
                var sp = await GetServiceAsync(typeof(IUIProvider)) as IUIProvider;
                return sp.TryGetService(serviceType);
            }
        }