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); }
protected override void Context() { base.Context(); PipeUnderTest = new EmployeeCostPipe(); }