def test_6_children_tax_decrease(self): tax_variables = TaxVariables() tax_variables.children = 6 tax_variables.children_handicapped = 0 tax_variables.family_members = 0 tax_variables.family_members_handicapped = 0 tax_variables.family_members_old = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.partner_income = 0 bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) decrease = bruto_netto_simulator.decrease_childeren_under_care() self.assertEqual(decrease, 887)
def calculate_budgets(budget, total_budget, year): tax_variables = TaxVariables() tax_variables.bruto = budget tax_variables.type_worker = 'bediende' rsz_calculations = RSZCalculations( Globals.get_correct_calculation_parameters(year), tax_variables) rsz, workbonus = rsz_calculations.calculate_rsz() rsz += workbonus taxable_budget = budget - rsz tax_budget = taxable_budget * 0.1615 netto_budget = taxable_budget - tax_budget tax_variables.bruto = total_budget rsz_calculations = RSZCalculations( Globals.get_correct_calculation_parameters(year), tax_variables) rsz, workbonus = rsz_calculations.calculate_rsz() rsz += workbonus taxable_budget = total_budget - rsz tax_budget = taxable_budget * 0.1615 netto_budget_total = taxable_budget - tax_budget return round(netto_budget, 2), round(netto_budget_total, 2)
def create(self, validated_data): return TaxVariables(**validated_data)
def test_calculate_bruto_netto_single_arbeider_2000bruto_1child_handicapped_no_family( self): tax_variables = TaxVariables() tax_variables.bruto = 2000.0 tax_variables.marital_status = 'single' tax_variables.handicapped = False tax_variables.partner_income = 0 tax_variables.partner_income_pension_or_interest = False tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 1 tax_variables.type_worker = 'arbeider' bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) rsz, werk_bonus, taxable_wages, tax, tax_decreases, rsz_extra, netto = bruto_netto_simulator.calculate_netto( ) self.assertEqual(round(rsz, 2), 173.02) self.assertEqual(round(werk_bonus, 2), 109.29) self.assertEqual(round(taxable_wages, 2), 1826.98) self.assertEqual(round(tax, 2), 352.78) self.assertEqual(round(tax_decreases, 2), 188.09) self.assertEqual(round(rsz_extra, 2), 16.31) self.assertEqual(round(netto, 2), 1645.98)
def test_calculate_bruto_netto_single_bediende_2000bruto_not_handicapped_1child_handicapped( self): tax_variables = TaxVariables() tax_variables.bruto = 2000.0 tax_variables.marital_status = 'single' tax_variables.handicapped = False tax_variables.partner_income = 0 tax_variables.partner_income_pension_or_interest = False tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 1 tax_variables.type_worker = 'bediende' bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) rsz, werk_bonus, taxable_wages, tax, tax_decreases, rsz_extra, netto = bruto_netto_simulator.calculate_netto( ) self.assertEqual(round(rsz, 2), 160.22) self.assertEqual(round(werk_bonus, 2), 101.18) self.assertEqual(round(taxable_wages, 2), 1839.78) self.assertEqual(round(tax, 2), 359.78) self.assertEqual(round(tax_decreases, 2), 185.82) self.assertEqual(round(rsz_extra, 2), 4.15) self.assertEqual(round(netto, 2), 1661.67)
def test_bijzondere_bijdrage_socialezekerheid_cat1_cat1_no_border_value_single_arbeider( self): tax_variables = TaxVariables() tax_variables.bruto = 1009.26 tax_variables.type_worker = 'arbeider' tax_variables.marital_status = 'single' tax_variables.partner_income = 0 tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 0 bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) added_rsz = bruto_netto_simulator.bijzondere_bijdrage_sociale_zekerheid( ) self.assertEqual(round(added_rsz, 2), 0)
def test_werkbonus_arbeider_schaal2_left_border_value(self): tax_variables = TaxVariables() tax_variables.bruto = 2461.27 tax_variables.type_worker = 'arbeider' tax_variables.partner_income = 0 tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 0 calc_params = Globals.get_correct_calculation_parameters(Globals.year) rsz_calulator = RSZCalculations(calc_params, tax_variables) rsz, work_bonus = rsz_calulator.calculate_rsz_and_work_bonus() self.assertEqual(round(work_bonus, 2), 0.02)
def test_bijzondere_bijdrage_socialezekerheid_cat2_cat4_border_value_right_married_income_arbeider( self): tax_variables = TaxVariables() tax_variables.bruto = 5591.51 tax_variables.type_worker = 'arbeider' tax_variables.marital_status = 'married' tax_variables.partner_income = 1500 tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 0 bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) added_rsz = bruto_netto_simulator.bijzondere_bijdrage_sociale_zekerheid( ) self.assertEqual(round(added_rsz, 2), 51.64)
def test_werkbonus_bediende_schaal1_right_border_value(self): tax_variables = TaxVariables() tax_variables.bruto = 1577.90 tax_variables.type_worker = 'bediende' tax_variables.partner_income = 0 tax_variables.family_members_old = 0 tax_variables.family_members = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.family_members_handicapped = 0 tax_variables.children = 0 tax_variables.children_handicapped = 0 calc_params = Globals.get_correct_calculation_parameters(Globals.year) rsz_calulator = RSZCalculations(calc_params, tax_variables) rsz, work_bonus = rsz_calulator.calculate_rsz_and_work_bonus() self.assertEqual(round(work_bonus, 2), 193.79)
def test_scale1_income_7500_right_boundary_one_child(self): tax_variables = TaxVariables() tax_variables.bruto = 8627.64 tax_variables.marital_status = 'single' tax_variables.handicapped = False tax_variables.partner_income = 0 tax_variables.partner_income_pension_or_interest = False tax_variables.children_handicapped = 0 tax_variables.children = 1 tax_variables.family_members = 0 tax_variables.family_members_handicapped = 0 tax_variables.family_members_old = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.type_worker = 'bediende' bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) rsz, werk_bonus, taxable_wages, tax, tax_decreases, rsz_extra, netto = bruto_netto_simulator.calculate_netto( ) self.assertEqual(round(rsz, 2), 1127.63) self.assertEqual(round(werk_bonus, 2), 0) self.assertEqual(round(taxable_wages, 2), 7500.01) self.assertEqual(round(tax, 2), 3287.26) self.assertEqual(round(tax_decreases, 2), 92) self.assertEqual(round(rsz_extra, 2), 60.94) self.assertEqual(round(netto, 2), 4243.81)
def test_scale1_income_7500_no_boundary(self): tax_variables = TaxVariables() tax_variables.bruto = 8950 tax_variables.marital_status = 'single' tax_variables.handicapped = False tax_variables.partner_income = 0 tax_variables.partner_income_pension_or_interest = False tax_variables.children_handicapped = 0 tax_variables.children = 0 tax_variables.family_members = 0 tax_variables.family_members_handicapped = 0 tax_variables.family_members_old = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.type_worker = 'bediende' bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) rsz, werk_bonus, taxable_wages, tax, tax_decreases, rsz_extra, netto = bruto_netto_simulator.calculate_netto( ) self.assertEqual(round(rsz, 2), 1169.77) self.assertEqual(round(werk_bonus, 2), 0) self.assertEqual(round(taxable_wages, 2), 7780.23) self.assertEqual(round(tax, 2), 3431.71) self.assertEqual(round(tax_decreases, 2), 24) self.assertEqual(round(rsz_extra, 2), 60.94) self.assertEqual(round(netto, 2), 4311.58)
def test_scale2_income_7500_should_not_be_high_income(self): tax_variables = TaxVariables() tax_variables.bruto = 8627.63 tax_variables.marital_status = 'married' tax_variables.handicapped = False tax_variables.partner_income = 0 tax_variables.partner_income_pension_or_interest = False tax_variables.children_handicapped = 0 tax_variables.children = 0 tax_variables.family_members = 0 tax_variables.family_members_handicapped = 0 tax_variables.family_members_old = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.type_worker = 'bediende' bruto_netto_simulator = BrutoNettoSimulator(tax_variables, 2016) rsz, werk_bonus, taxable_wages, tax, tax_decreases, rsz_extra, netto = bruto_netto_simulator.calculate_netto( ) self.assertEqual(round(rsz, 2), 1127.63) self.assertEqual(round(werk_bonus, 2), 0) self.assertEqual(round(taxable_wages, 2), 7500) self.assertEqual(round(tax, 2), 2922.79) self.assertEqual(round(tax_decreases, 2), 0) self.assertEqual(round(rsz_extra, 2), 60.94) self.assertEqual(round(netto, 2), 4516.27)
def test_calculate_rsz_bediende(self): tax_variables = TaxVariables() tax_variables.bruto = 2000 tax_variables.type_worker = 'bediende' tax_variables.children = 0 tax_variables.children_handicapped = 0 tax_variables.family_members = 0 tax_variables.family_members_old = 0 tax_variables.family_members_handicapped = 0 tax_variables.family_members_old_handicapped = 0 tax_variables.partner_income = 0 calc_params = Globals.get_correct_calculation_parameters(Globals.year) rsz_calulator = RSZCalculations(calc_params, tax_variables) rsz, werk_bonus = rsz_calulator.calculate_rsz_and_work_bonus() self.assertEqual(round(rsz + werk_bonus, 2), 261.40)