public void GetTaxAmt() { var taxProvider = new ProgressiveTaxCalculator(); taxProvider.AddTaxRate(10, 10.00m); taxProvider.AddTaxRate(5, 100.00m); taxProvider.AddTaxRate(1, 999999999.99m); (decimal, decimal)[] testData =
public void Given_AnnumIncome(double annualIncome, double expectedTax) { //----------Setup--------------------------- var progressiveTaxCalculator = new ProgressiveTaxCalculator(new Mock <IIncomeValidator>().Object); //--------Execute--------------------------- var tax = progressiveTaxCalculator.Calculate(annualIncome); //--------Assert---------------------------- Assert.AreEqual(expectedTax, tax); }
public void Given_Calculate_Should_Call_IncomeValidator_Validate() { //----------Setup--------------------------- var mockValidator = new Mock <IIncomeValidator>(); mockValidator.Setup(m => m.Validate(It.IsAny <double>())); var progressiveTaxCalculator = new ProgressiveTaxCalculator(mockValidator.Object); //--------Execute--------------------------- progressiveTaxCalculator.Calculate(-12547d); //--------Assert---------------------------- mockValidator.Verify(m => m.Validate(-12547d), Times.Once); }
public async Task CalculateProgressiveTaxRate_WhenValidRequest_ShouldCalculateCorrectly(decimal annualIncome, decimal expectedTaxRate) { // Arrange var db = Db(); db.ProgressiveRate.AddRange(SeedValues.GetProgressiveRateSeedValues()); db.SaveChanges(); var taxCalculator = new ProgressiveTaxCalculator(new TaxQueryService(db)); // Act var taxAmount = await taxCalculator.CalculateTaxAmountAsync(annualIncome); // Assert taxAmount.ShouldBe(expectedTaxRate); }
public void ShouldCalculateAmountForAllTaxBrackets() { var calculator = new ProgressiveTaxCalculator(new List <IHandleProgressiveTaxBracket> { new Handle10PercentTaxBracket(), new Handle15PercentTaxBracket(), new Handle25PercentTaxBracket(), new Handle28PercentTaxBracket(), new Handle33PercentTaxBracket(), new Handle35PercentTaxBracket() }); var result = calculator.CalulateTax(372952m); Assert.AreEqual(108215.34m, result); }
public void Setup() { progressiveTax = new ProgressiveTaxCalculator(); }
public void SetUp() { _repository = new Mock <ITaxRateSettingRepository <ProgressiveTaxRateSetting> >(); _calculator = new ProgressiveTaxCalculator(_repository.Object); }