protected IPayeCalculationEngine CreatePayeCalculationEngineInternal(int taxYear)
        {
            var payeEngine = Activator.CreateInstance(
                discoveredPayeCalculationEngines[taxYear],
                taxConfigurationDataProvider.GetTaxYearConfigurationData(taxYear));

            return((IPayeCalculationEngine)payeEngine);
        }
예제 #2
0
        public void TaxProviderTests()
        {
            var taxYearData = _provider.GetTaxYearConfigurationData(2015);
            var brackets    = taxYearData.Brackets;

            Assert.AreEqual(31785, brackets.First().To);
            Assert.AreEqual(150000, brackets.Last().From);

            var niCodeA = taxYearData.NiRates['A'];

            Assert.AreEqual(12, niCodeA.EeD);
            Assert.AreEqual(13.8m, niCodeA.ErF);

            var fixedCode = taxYearData.FixedCodes.Single(m => m.Code == "NT");

            Assert.AreEqual(0, fixedCode.Rate);

            Assert.AreEqual("1060L", taxYearData.DefaultTaxCode);
            Assert.AreEqual(40040, taxYearData.UpperAccrualPoint);
            Assert.AreEqual(0.6m, taxYearData.DeaProtectedEarnings);

            // Check that we can get other tax years
            taxYearData = _provider.GetTaxYearConfigurationData(2017);
            brackets    = taxYearData.Brackets;
            Assert.AreNotEqual(31785, brackets.First().To);

            niCodeA = taxYearData.NiRates['A'];
            Assert.AreEqual(2, niCodeA.EeD);
            Assert.AreEqual(0, niCodeA.ErF);

            fixedCode = taxYearData.FixedCodes.Single(m => m.Code == "BR");
            Assert.AreEqual(0.2m, fixedCode.Rate);

            Assert.AreEqual("1150L", taxYearData.DefaultTaxCode);
            Assert.AreEqual(8164, taxYearData.PrimaryThreshold);
        }
예제 #3
0
 protected IStatutorySickPayCalculationEngine CreateSspCalculationEngineInternal(int taxYear) =>
 (IStatutorySickPayCalculationEngine)Activator.CreateInstance(
     discoveredSspCalculationEngines[taxYear],
     taxConfigurationDataProvider.GetTaxYearConfigurationData(taxYear),
     bankHolidayConfigurationDataProvider.GetBankHolidayConfigurationData());
 public IStudentLoanCalculationEngine CreateStudentLoanCalculationEngine(int taxYear) => new StudentLoanCalculationEngine(taxConfigurationDataProvider.GetTaxYearConfigurationData(taxYear));