Ejemplo n.º 1
0
def main():
    tax_brackets = get_income_tax_brackets()
    hecs_brackets = get_hecs_brackets()
    medicare_brackets = get_medicare_levy_brackets()
    # medicare_surcharge = generate_brackets(MEDICARE_SURCHARGE_THRESHOLD, MEDICARE_SURCHARGE_RATE)
    (income, family_income, has_help) = get_settings()
    # OUTPUT
    # [income, tax, hecs, medicare, after_tax]
    tax = calculate_tiered_tax(income, tax_brackets)
    hecs = calculate_flat_rate_tax(income, hecs_brackets)
    medicare = calculate_flat_rate_tax(income, medicare_brackets)
    post_tax = income - tax - hecs - medicare
    print([income, tax, hecs, medicare, post_tax])
Ejemplo n.º 2
0
 def test_below_threshold(self):
     income = 100
     brackets = [{'threshold': 1000, 'rate': 0.1}]
     (after_tax, taxed) = calculate_tiered_tax(income, brackets)
     self.assertEqual(income, after_tax)
     self.assertEqual(0, taxed)
Ejemplo n.º 3
0
 def test_above_multiple_thresholds(self):
     income = 2000
     brackets = [{'threshold': 1000, 'rate': 0.1}, {'threshold': 1500, 'rate': 0.2}]
     (after_tax, taxed) = calculate_tiered_tax(income, brackets)
     self.assertEqual(1850, after_tax)
     self.assertEqual(150, taxed)
Ejemplo n.º 4
0
 def test_above_first_threshold(self):
     income = 2000
     brackets = [{'threshold': 1000, 'rate': 0.1}]
     (after_tax, taxed) = calculate_tiered_tax(income, brackets)
     self.assertEqual(1900, after_tax)
     self.assertEqual(100, taxed)
Ejemplo n.º 5
0
 def test_on_threshold(self):
     income = 1500
     brackets = [{'threshold': 1000, 'rate': 0.1}, {'threshold': 1500, 'rate': 0.2}]
     (after_tax, taxed) = calculate_tiered_tax(income, brackets)
     self.assertEqual(1450, after_tax)
     self.assertEqual(50, taxed)