public static EmployeeSalaryCalculationResultBuilder CalculateTaxMonthlyExemption( this EmployeeSalaryCalculationResultBuilder builder) { // 1/12 z kwoty wolnej od podatku (bo jest ona roczna) // od 2018r wyliczana inaczej w zaleznosci od podstawy opodatkowania return(builder .Calculate(() => builder.Result.TaxMonthlyExemption = 560m / 12)); }
public void PermanentContract__SalaryGross_eq__SocialInsuranceCost_eq( decimal salaryGross, decimal expectedValue) { // arrange var setting = EmployeeExampleValues.SocialInsuranceSetting; var builder = new EmployeeSalaryCalculationResultBuilder(); // act var result = builder .SetSalaryGross(salaryGross) .CreateResult() .CalculateSocialInsurance(setting) .Result .TotalSocialInsurance; // assert result.Should().Be(expectedValue); }
public void PermanentContract__SalaryGross_eq_and_CopyrightLawsPercent_eq__Tax_eq( decimal salaryGross, float copyrightLawsPercent, decimal expectedValue) { // arrange var builder = new EmployeeSalaryCalculationResultBuilder(); var calculator = new EmployeeSalaryCalculator(builder); var context = new EmployeeSalaryCalculationContext(); context.Parameters.SocialInsuranceSetting = EmployeeExampleValues.SocialInsuranceSetting; context.Parameters.HealthInsuranceSetting = EmployeeExampleValues.HealthInsuranceSetting; context.Parameters.EmploymentRelationshipTaxSetting = EmployeeExampleValues.EmploymentRelationshipTaxSetting; // act var calculationResult = calculator.Calculate(salaryGross, copyrightLawsPercent, context); // assert calculationResult.Tax.Should().Be(expectedValue); }
public void PermanentContract__SalaryGross_eq__HealthInsurance_eq( decimal salaryGross, decimal expectedHealthInsurance, decimal expectedHealthInsuranceDeductibles) { // arrange var socialSetting = EmployeeExampleValues.SocialInsuranceSetting; var healthSetting = EmployeeExampleValues.HealthInsuranceSetting; var builder = new EmployeeSalaryCalculationResultBuilder(); // act var result = builder .SetSalaryGross(salaryGross) .CreateResult() .CalculateSocialInsurance(socialSetting) .CalculateHealthInsurance(builder.Result.TotalSocialInsurance, healthSetting) .Result; // assert result.HealthInsurance.Should().Be(expectedHealthInsurance); result.HealthInsuranceDeductibles.Should().Be(expectedHealthInsuranceDeductibles); }
public void PermanentContract__SalaryGross_eq_and_CopyrightLawsPercent_eq_and__TaxBase_eq( decimal salaryGross, float copyrightLawsPercent, decimal expectedValue) { // arrange var setting = EmployeeExampleValues.SocialInsuranceSetting; var employmentRelationshipTaxDeductibles = EmployeeExampleValues.EmploymentRelationshipTaxSetting.DeductiblesAmount; var builder = new EmployeeSalaryCalculationResultBuilder(); // act var result = builder .SetSalaryGross(salaryGross) .CreateResult() .CalculateSocialInsurance(setting) .CalculateTaxBase(copyrightLawsPercent, builder.Result.TotalSocialInsurance, employmentRelationshipTaxDeductibles) .Result .TaxBase; // assert result.Should().Be(expectedValue); }
static void Main(string[] args) { var builder = new EmployeeSalaryCalculationResultBuilder(); var calculator = new EmployeeSalaryCalculator(builder); var consoleReporter = new PermanentContractSalaryCalculationConsoleReporter(); var context = new EmployeeSalaryCalculationContext { Parameters = new EmployeeParameters { SocialInsuranceSetting = EmployeeExampleValues.SocialInsuranceSetting, EmploymentRelationshipTaxSetting = EmployeeExampleValues.EmploymentRelationshipTaxSetting, HealthInsuranceSetting = EmployeeExampleValues.HealthInsuranceSetting } }; var calculationResult = calculator.Calculate(13000m, 80f, context); consoleReporter.Report(calculationResult, context); Console.WriteLine("Wcisnij <ENTER> aby zakonczyc"); Console.ReadLine(); }