public CalculateHraExemption ( bool fromMetro, double rentPaid ) : double | ||
fromMetro | bool | |
rentPaid | double | |
return | double |
public virtual double CalculateHraExemption(bool fromMetro, double rentPaid)
{
var taxComponents = new List<double>();
ValidateTaxComponents(fromMetro);
taxComponents.Add(Hra);
taxComponents.Add(PercentageOfBasicBasedOnLocality(fromMetro));
taxComponents.Add(AdjustedRentPaidToBasic(rentPaid));
return taxComponents.Min();
}
public void ShouldCalculateHraExemption() { var taxPayer = new User(50000, true, Gender.Male); var annualSalary = new AnnualSalary { Basic = 100000, Hra = 40000, ProfessionalTax = 100, SpecialAllowance = 10 }; Assert.AreEqual(40000, annualSalary.CalculateHraExemption(taxPayer.FromMetro, taxPayer.RentPaid)); }