public void Init()
        {
            _mockDb = new Mock <ITaxCalculatorDb>();

            var services = new ServiceCollection();

            services.AddTransient <ITaxCalculatorDb>(sp => _mockDb.Object);
            services.AddTransient <ICalculatorFactory, CalculatorFactory>();
            services.AddTransient <ITaxCalculatorRepository, TaxCalculatorRepository>();
            services.AddTransient <ITaxCalculator, Core.TaxCalculator>();

            _provider = services.BuildServiceProvider();

            _db                      = _provider.GetService <ITaxCalculatorDb>();
            _taxCalculator           = _provider.GetService <ITaxCalculator>();
            _taxCalculatorRepository = _provider.GetService <ITaxCalculatorRepository>();
            _calculatorFactory       = _provider.GetService <ICalculatorFactory>();
        }
 public TaxCalculatorRepository(ITaxCalculatorDb taxCalculatorDb)
 {
     _taxCalculatorDb = taxCalculatorDb;
 }