Exemplo n.º 1
0
        private TFixtureServices ConfigureCacheServices(Action <InMemoryPeopleRepository, IServiceCollection> configureCache)
        {
            IServiceCollection services = new ServiceCollection();
            var repository = new InMemoryPeopleRepository(People);

            services.AddSingleton(sp => Substitute.For <IConfiguration>());
            services = ConfigureServices(services);
            services.UseFluentCache();

            services.AddCachePolicy(GetCachePolicy());
            configureCache(repository, services);

            var provider   = services.BuildServiceProvider();
            var sut        = provider.GetRequiredService <IPeopleRepository>();
            var supervisor = provider.GetRequiredService <ICacheSupervisor>();

            return(CreateServices(sut, repository, supervisor, provider));
        }
Exemplo n.º 2
0
 protected abstract TFixtureServices CreateServices(IPeopleRepository sut, InMemoryPeopleRepository repository,
                                                    ICacheSupervisor supervisor, ServiceProvider provider);