public static void RegisterServices(IServiceCollection services, IConfiguration configuration)
        {
            services.AddTransient <IBenefitsCostService, BenefitsCostService>();
            services.AddSingleton <IPersonDiscountFactory, PersonDiscountFactory>();
            services.AddTransient <EmployeeIdFilter>();
            services.AddTransient <CalculateAnnualCostsFilter>();
            services.AddTransient <CalculatePaycheckFilter>();

            services.AddTransient <IEmployeeCostPipe>(provider =>
            {
                var pipe = new EmployeeCostPipe();
                pipe.RegisterFilters(provider.GetService(typeof(EmployeeIdFilter)) as IEmployeeCostFilter);
                pipe.RegisterFilters(provider.GetService(typeof(CalculateAnnualCostsFilter)) as IEmployeeCostFilter);
                pipe.RegisterFilters(provider.GetService(typeof(CalculatePaycheckFilter)) as IEmployeeCostFilter);
                return(pipe);
            });

            RegisterRepositories(services, configuration);
        }
Exemple #2
0
 protected override void Context()
 {
     base.Context();
     PipeUnderTest = new EmployeeCostPipe();
 }