Beispiel #1
0
 public void WhenTaxRateAreNotSorted_CalculatedTaxReturned(double income, double expectedTax)
 {
     Assert.Equal(expectedTax,
                  TaxCalc.CalculateTax(income,
                                       new TaxRate(new TaxRateItem(null, 30),
                                                   new TaxRateItem(10000, 0),
                                                   new TaxRateItem(50000, 10))));
 }
Beispiel #2
0
 public void WhenTaxRateHasThreeThreshold_CalculatedTaxReturned(double income, double expectedTax)
 {
     Assert.Equal(expectedTax,
                  TaxCalc.CalculateTax(income,
                                       new TaxRate(new TaxRateItem(10000, 0),
                                                   new TaxRateItem(50000, 10),
                                                   new TaxRateItem(TaxRateItem.LastThreshold, 30))));
 }
Beispiel #3
0
 public void WhenIncomeIsLessThenZero_ArgumentExceptionExpected()
 {
     Assert.Throws <ArgumentException>(() => TaxCalc.CalculateTax(-1,
                                                                  new TaxRate(new TaxRateItem(100, 10))));
 }
Beispiel #4
0
 public void WhenTaxRateIsAlwaysOneHundredPercentage_ReturnsEntireIncome(int income)
 {
     Assert.Equal(income,
                  TaxCalc.CalculateTax(income,
                                       new TaxRate(new TaxRateItem(TaxRateItem.LastThreshold, 100))));
 }
Beispiel #5
0
 public void WhenTaxRateIsAlwaysZero_ReturnsZero(int income)
 {
     Assert.Equal(0,
                  TaxCalc.CalculateTax(income, new TaxRate(new TaxRateItem(TaxRateItem.LastThreshold, 0))));
 }