Пример #1
0
 def get_tax_free_series(self) -> pd.Series:
     """
     Return a datafarme of the amount of w2 that can be earned without
     paying taxes
     """
     mod = self.get_household_modifier_df()
     credits = mod[list(self._credits)].sum(axis=1)
     income = tax_to_income(credits, self._tax_df)
     return income + self._std_ser
Пример #2
0
 def test_highest_bracket(self, married_income_tax_df):
     """Ensure the highest bracket works too."""
     income = 1_000_000_000_000_000_000
     ser = pd.Series([income], index=[2020])
     out = tax_to_income(ser, married_income_tax_df)
     assert isinstance(out, pd.Series)
     # the value should approximate the highest bracket
     df = married_income_tax_df
     max_tax = df[df['year'] == 2020]['tax_percent'].max() / 100.
     assert np.isclose(out.values[0], income / max_tax)
Пример #3
0
 def _get_tax_free_gains(self) -> pd.Series:
     """return a series of tax free capital gains."""
     ser = pd.Series(np.zeros(len(self.years)), index=self.years)
     gains = tax_to_income(ser, self._captial_gains_df)
     return gains
Пример #4
0
 def test_zero(self, married_income_tax_df):
     """Ensure zero returns zero"""
     ser = pd.Series([0], index=[2020])
     out = tax_to_income(ser, married_income_tax_df)
     assert (out == 0).all()
Пример #5
0
 def test_lowest_bracket(self, married_income_tax_df):
     """ensure the lowest bracket works as well."""
     ser = pd.Series([10], index=[2020])
     out = tax_to_income(ser, married_income_tax_df)
     assert (out == 100).all()
Пример #6
0
 def test_basic(self, married_income_tax_df):
     """Test getting basic tax to income."""
     ser = pd.Series([4000], index=[2020])
     out = tax_to_income(ser, married_income_tax_df)
     breakpoint()
     assert ((out < 40_000) & (out > 30_000)).all()