policyengine-us 1.458.0__py3-none-any.whl → 1.465.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/brackets.yaml +52 -0
- policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/in_effect.yaml +9 -0
- policyengine_us/parameters/gov/contrib/aca/ptc_700_fpl_cliff/income_eligibility.yaml +27 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/applies.yaml +115 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/couple.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/asset/individual.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qi/fpl_limit.yaml +14 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/qmb/fpl_limit.yaml +18 -0
- policyengine_us/parameters/gov/hhs/medicare/savings_programs/eligibility/income/slmb/fpl_limit.yaml +15 -0
- policyengine_us/parameters/gov/states/az/tax/income/credits/property_tax/income_sources.yaml +17 -9
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/head_of_household.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/joint.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/separate.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/single.yaml +1 -1
- policyengine_us/parameters/gov/states/hi/tax/income/credits/food_excise_tax/amount/surviving_spouse.yaml +1 -1
- policyengine_us/parameters/gov/states/ia/tax/income/credits/child_care/fraction.yaml +1 -1
- policyengine_us/parameters/gov/states/il/dhs/aabd/asset/sources.yaml +0 -1
- policyengine_us/parameters/gov/states/mi/tax/income/household_resources.yaml +1 -1
- policyengine_us/parameters/gov/states/mo/dss/tanf/child_care_deduction/amount.yaml +27 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_only/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/flat_amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/thirty_plus_one_third/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/earned_income_disregard/two_thirds_disregard/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/max_table_size.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit/rate.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/maximum_benefit/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/minimum_payment.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/resource_limit/amount.yaml +14 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/additional_person_increment.yaml +12 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/amount.yaml +38 -0
- policyengine_us/parameters/gov/states/mo/dss/tanf/standard_of_need/base_table_max_size.yaml +12 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_1.yaml +19 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_2.yaml +44 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_3.yaml +31 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/county_group/group_4.yaml +29 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/additional_person.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/family_size_allowance/amount.yaml +69 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/earned_income_disregard/percentage.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/additional.yaml +15 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/income/deductions/work_expense/initial.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/max_family_size_in_table.yaml +12 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/resource_limit.yaml +7 -6
- policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/additional_person.yaml +14 -0
- policyengine_us/parameters/gov/states/pa/dhs/tanf/standard_of_need/amount.yaml +69 -0
- policyengine_us/parameters/gov/states/wi/dcf/README.md +1 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/README.md +1 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/asset/limit.yaml +16 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/asset/vehicle_exclusion.yaml +14 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/income_limit/rate.yaml +16 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/amount.yaml +30 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/arp_pregnancy_month_threshold.yaml +14 -0
- policyengine_us/parameters/gov/states/wi/dcf/works/placement/cmc_infant_age_limit.yaml +15 -0
- policyengine_us/reforms/aca/__init__.py +3 -0
- policyengine_us/reforms/aca/aca_ptc_700_fpl_cliff.py +125 -0
- policyengine_us/reforms/reforms.py +5 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/category/msp_category.yaml +69 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/income/msp_fpg.yaml +22 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/integration.yaml +84 -0
- policyengine_us/tests/policy/baseline/gov/hhs/medicare/savings_programs/msp_benefit_value.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.yaml +157 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.yaml +106 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_medicare_hi.yaml +105 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_oasdi.yaml +86 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_revenue_total.yaml +19 -0
- policyengine_us/tests/policy/baseline/gov/ssa/revenue/tob_tier_split.yaml +90 -0
- policyengine_us/tests/policy/baseline/gov/states/az/tax/income/az_property_tax_credit_agi.yaml +58 -0
- policyengine_us/tests/policy/baseline/gov/states/az/tax/income/integration.yaml +28 -0
- policyengine_us/tests/policy/baseline/gov/states/dc/tax/income/dc_ptc.yaml +27 -0
- policyengine_us/tests/policy/baseline/gov/states/hi/tax/income/credits/food_excise/hi_food_excise_credit.yaml +29 -1
- policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_cdcc.yaml +3 -3
- policyengine_us/tests/policy/baseline/gov/states/ia/tax/income/ia_integration.yaml +31 -1
- policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.yaml +6 -6
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/fpp/integration.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.yaml +18 -5
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml +5 -5
- policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/integration.yaml +8 -8
- policyengine_us/tests/policy/baseline/gov/states/ma/tax/income/gross_income/integration.yaml +28 -0
- policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/integration.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/states/me/tax/income/credits/me_dependent_exemption_credit_amount_person.yaml +3 -2
- policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/credits/home_heating/mi_home_heating_credit.yaml +87 -0
- policyengine_us/tests/policy/baseline/gov/states/mi/tax/income/mi_household_resources.yaml +57 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/integration.yaml +275 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf.yaml +60 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_child_care_deduction.yaml +187 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_countable_income.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_earned_income_deductions.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_eligible.yaml +59 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_gross_income_eligible.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_eligible.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_percentage_of_need_test.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_resources_eligible.yaml +23 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.yaml +71 -0
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_standard_of_need_test.yaml +44 -0
- policyengine_us/tests/policy/baseline/gov/states/mt/tax/income/integration.yaml +29 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.yaml +114 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.yaml +81 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/integration.yaml +386 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_county_group.yaml +63 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.yaml +92 -0
- policyengine_us/tests/policy/baseline/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.yaml +73 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/integration.yaml +282 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works.yaml +50 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_income.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_countable_resources.yaml +54 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_eligible.yaml +61 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_income_eligible.yaml +43 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_placement.yaml +111 -0
- policyengine_us/tests/policy/baseline/gov/states/wi/dcf/works/wi_works_resources_eligible.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.yaml +31 -0
- policyengine_us/tests/policy/contrib/aca/ptc_700_fpl_cliff.yaml +136 -0
- policyengine_us/tests/test_batched.py +39 -68
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qi_eligible.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_qmb_eligible.py +28 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/is_slmb_eligible.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/category/msp_category.py +33 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_asset_eligible.py +26 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_eligible.py +20 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/eligibility/msp_income_eligible.py +26 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_countable_income.py +35 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/income/msp_fpg.py +40 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/msp.py +15 -0
- policyengine_us/variables/gov/hhs/medicare/savings_programs/msp_benefit_value.py +37 -0
- policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_1.py +58 -0
- policyengine_us/variables/gov/irs/income/taxable_income/adjusted_gross_income/irs_gross_income/social_security/taxable_social_security_tier_2.py +17 -0
- policyengine_us/variables/gov/simulation/labor_supply_response/labor_supply_behavioral_response.py +57 -42
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_medicare_hi.py +31 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_oasdi.py +31 -0
- policyengine_us/variables/gov/ssa/revenue/tob_revenue_total.py +44 -0
- policyengine_us/variables/gov/states/az/tax/income/credits/property_tax_credit/az_property_tax_credit_agi.py +53 -0
- policyengine_us/variables/gov/states/dc/tax/income/credits/dc_ptc.py +7 -3
- policyengine_us/variables/gov/states/ia/tax/income/credits/ia_cdcc.py +4 -2
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_non_financial_eligible_person.py +23 -5
- policyengine_us/variables/gov/states/il/hfs/fpp/eligibility/il_fpp_eligible.py +1 -1
- policyengine_us/variables/gov/states/il/hfs/hbwd/eligibility/il_hbwd_disability_eligible.py +7 -3
- policyengine_us/variables/gov/states/ma/tax/income/gross_income/ma_part_c_gross_income.py +7 -1
- policyengine_us/variables/gov/states/me/tax/income/credits/dependent_exemption/me_dependent_exemption_credit_amount_person.py +1 -1
- policyengine_us/variables/gov/states/mi/tax/income/mi_household_resources.py +34 -5
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_eligible.py +23 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_gross_income_eligible.py +24 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_income_eligible.py +18 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_percentage_of_need_test.py +20 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_resources_eligible.py +18 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/eligibility/mo_tanf_standard_of_need_test.py +17 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_child_care_deduction.py +24 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/deductions/mo_tanf_earned_income_deductions.py +36 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_countable_income.py +21 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/income/mo_tanf_income_for_need_test.py +23 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf.py +21 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_maximum_benefit.py +19 -0
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_standard_of_need.py +23 -0
- policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_indiv.py +3 -1
- policyengine_us/variables/gov/states/mt/tax/income/capital_gains/mt_capital_gains_tax_joint.py +3 -1
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_indiv.py +3 -0
- policyengine_us/variables/gov/states/mt/tax/income/tax_calculation/mt_regular_income_tax_joint.py +3 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_disregard_eligible.py +31 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_eligible.py +29 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_income_eligible.py +16 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_resources_eligible.py +7 -5
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_earned_income.py +15 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_countable_income.py +16 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/income/pa_tanf_earned_income_after_deductions_person.py +27 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf.py +19 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_county_group.py +38 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_maximum_benefit.py +30 -0
- policyengine_us/variables/gov/states/pa/dhs/tanf/pa_tanf_standard_of_need.py +30 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_eligible.py +22 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_income_eligible.py +20 -0
- policyengine_us/variables/gov/states/wi/dcf/works/eligibility/wi_works_resources_eligible.py +18 -0
- policyengine_us/variables/gov/states/wi/dcf/works/income/wi_works_countable_income.py +18 -0
- policyengine_us/variables/gov/states/wi/dcf/works/resources/wi_works_countable_resources.py +21 -0
- policyengine_us/variables/gov/states/wi/dcf/works/wi_works.py +19 -0
- policyengine_us/variables/gov/states/wi/dcf/works/wi_works_placement.py +45 -0
- policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit.py +3 -3
- policyengine_us/variables/gov/states/wv/tax/income/credits/heptc/wv_homestead_excess_property_tax_credit_eligible.py +5 -2
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.465.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.465.0.dist-info}/RECORD +186 -62
- policyengine_us/parameters/gov/states/il/dhs/aabd/aged_age_threshold.yaml +0 -11
- policyengine_us/parameters/gov/states/mo/dss/tanf/income_limit.yaml +0 -26
- policyengine_us/parameters/gov/states/pa/dhs/tanf/cash_assistance/age_limit.yaml +0 -11
- policyengine_us/parameters/gov/states/pa/dhs/tanf/pregnancy_eligibility/age_limit.yaml +0 -9
- policyengine_us/tests/policy/baseline/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.yaml +0 -39
- policyengine_us/tests/policy/baseline/gov/states/mo/dss/tanf/mo_tanf_income_limit.yaml +0 -23
- policyengine_us/tests/policy/baseline/gov/states/pa/tanf/cash_assistance/pa_tanf_age_eligible.yaml +0 -44
- policyengine_us/tests/policy/baseline/gov/states/pa/tanf/pregnancy_eligibility/pa_tanf_pregnancy_eligibility.yaml +0 -59
- policyengine_us/tests/policy/baseline/gov/states/pa/tax/income/dhs/tanf/eligibility/pa_tanf_resources_eligible.yaml +0 -24
- policyengine_us/variables/gov/states/il/dhs/aabd/eligibility/il_aabd_aged_blind_disabled_person.py +0 -22
- policyengine_us/variables/gov/states/mo/dss/tanf/mo_tanf_income_limit.py +0 -18
- policyengine_us/variables/gov/states/pa/dhs/tanf/cash_assistance/pa_tanf_age_eligible.py +0 -22
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pa_tanf_countable_resources.py +0 -10
- policyengine_us/variables/gov/states/pa/dhs/tanf/eligibility/pregnancy_eligibility/age_eligibility.py +0 -22
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.465.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.465.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.458.0.dist-info → policyengine_us-1.465.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Unit tests for tob_revenue_oasdi
|
|
2
|
+
# Tests OASDI trust fund revenue allocation from SS benefit taxation
|
|
3
|
+
# OASDI receives revenue proportional to tier 1's share of total taxable SS
|
|
4
|
+
|
|
5
|
+
- name: No SS benefits - zero OASDI revenue
|
|
6
|
+
period: 2024
|
|
7
|
+
input:
|
|
8
|
+
people:
|
|
9
|
+
person1:
|
|
10
|
+
age: 67
|
|
11
|
+
social_security: 0
|
|
12
|
+
employment_income: 100_000
|
|
13
|
+
tax_units:
|
|
14
|
+
tax_unit:
|
|
15
|
+
members: [person1]
|
|
16
|
+
filing_status: SINGLE
|
|
17
|
+
households:
|
|
18
|
+
household:
|
|
19
|
+
members: [person1]
|
|
20
|
+
output:
|
|
21
|
+
tob_revenue_oasdi: 0
|
|
22
|
+
|
|
23
|
+
- name: Below threshold - zero OASDI revenue
|
|
24
|
+
period: 2024
|
|
25
|
+
input:
|
|
26
|
+
people:
|
|
27
|
+
person1:
|
|
28
|
+
age: 67
|
|
29
|
+
social_security: 20_000
|
|
30
|
+
employment_income: 10_000
|
|
31
|
+
tax_units:
|
|
32
|
+
tax_unit:
|
|
33
|
+
members: [person1]
|
|
34
|
+
filing_status: SINGLE
|
|
35
|
+
households:
|
|
36
|
+
household:
|
|
37
|
+
members: [person1]
|
|
38
|
+
output:
|
|
39
|
+
# No taxable SS → no TOB revenue → no OASDI share
|
|
40
|
+
tob_revenue_oasdi: 0
|
|
41
|
+
|
|
42
|
+
- name: Tier 1 only - all revenue to OASDI
|
|
43
|
+
period: 2024
|
|
44
|
+
absolute_error_margin: 50
|
|
45
|
+
input:
|
|
46
|
+
people:
|
|
47
|
+
person1:
|
|
48
|
+
age: 67
|
|
49
|
+
social_security: 20_000
|
|
50
|
+
employment_income: 20_000
|
|
51
|
+
tax_units:
|
|
52
|
+
tax_unit:
|
|
53
|
+
members: [person1]
|
|
54
|
+
filing_status: SINGLE
|
|
55
|
+
households:
|
|
56
|
+
household:
|
|
57
|
+
members: [person1]
|
|
58
|
+
output:
|
|
59
|
+
# In tier 1 only: tier1 = $2,500, tier2 = $0
|
|
60
|
+
# All taxable SS is tier 1 → 100% to OASDI
|
|
61
|
+
# Total TOB revenue all goes to OASDI
|
|
62
|
+
taxable_social_security_tier_1: 2_500
|
|
63
|
+
taxable_social_security_tier_2: 0
|
|
64
|
+
# tob_revenue_oasdi = tob_revenue_total (100% share)
|
|
65
|
+
|
|
66
|
+
- name: In tier 2 - proportional split
|
|
67
|
+
period: 2024
|
|
68
|
+
absolute_error_margin: 100
|
|
69
|
+
input:
|
|
70
|
+
people:
|
|
71
|
+
person1:
|
|
72
|
+
age: 67
|
|
73
|
+
social_security: 30_000
|
|
74
|
+
employment_income: 50_000
|
|
75
|
+
tax_units:
|
|
76
|
+
tax_unit:
|
|
77
|
+
members: [person1]
|
|
78
|
+
filing_status: SINGLE
|
|
79
|
+
households:
|
|
80
|
+
household:
|
|
81
|
+
members: [person1]
|
|
82
|
+
output:
|
|
83
|
+
# Tier 1 = $4,500, Tier 2 = $21,000, Total = $25,500
|
|
84
|
+
# OASDI share = 4,500 / 25,500 = 17.6%
|
|
85
|
+
# Total TOB ~$4,240 → OASDI = $4,240 * 0.176 = ~$748
|
|
86
|
+
tob_revenue_oasdi: 748
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
- name: TOB revenue - single retiree with SS and wages
|
|
2
|
+
period: 2024
|
|
3
|
+
absolute_error_margin: 100
|
|
4
|
+
input:
|
|
5
|
+
people:
|
|
6
|
+
person1:
|
|
7
|
+
age: 67
|
|
8
|
+
social_security: 30_000
|
|
9
|
+
employment_income: 50_000
|
|
10
|
+
tax_units:
|
|
11
|
+
tax_unit:
|
|
12
|
+
members: [person1]
|
|
13
|
+
filing_status: SINGLE
|
|
14
|
+
households:
|
|
15
|
+
household:
|
|
16
|
+
members: [person1]
|
|
17
|
+
output:
|
|
18
|
+
# Actual value is around $4,240
|
|
19
|
+
tob_revenue_total: 4_240
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Test that TOB revenue split matches Trustees Report projections
|
|
2
|
+
# Per 2025 Trustees Report (via CBPP):
|
|
3
|
+
# - OASDI (tier 1): ~59% of total TOB revenue ($60.8B / $103.4B)
|
|
4
|
+
# - Medicare HI (tier 2): ~41% of total TOB revenue ($42.6B / $103.4B)
|
|
5
|
+
#
|
|
6
|
+
# The statutory allocation is:
|
|
7
|
+
# - Tier 1 (first 50% of benefits taxable): Revenue to OASDI
|
|
8
|
+
# - Tier 2 (additional 35%, up to 85% taxable): Revenue to Medicare HI
|
|
9
|
+
#
|
|
10
|
+
# For a single retiree with $30K SS and $50K wages:
|
|
11
|
+
# - Combined income = $50K + $15K (half SS) = $65K
|
|
12
|
+
# - Above adjusted base ($34K), so 85% of SS taxable = $25,500
|
|
13
|
+
# - Tier 1 should be ~59% of taxable ($15,045)
|
|
14
|
+
# - Tier 2 should be ~41% of taxable ($10,455)
|
|
15
|
+
#
|
|
16
|
+
# BUG: Current implementation has tier_2 with only `subtracts` and no `adds`,
|
|
17
|
+
# which computes: 0 - total - tier1 = NEGATIVE (wrong!)
|
|
18
|
+
# Should be: adds=["tax_unit_taxable_social_security"], subtracts=["tier_1"]
|
|
19
|
+
|
|
20
|
+
- name: TOB tier split - single retiree in tier 2
|
|
21
|
+
period: 2024
|
|
22
|
+
absolute_error_margin: 500
|
|
23
|
+
input:
|
|
24
|
+
people:
|
|
25
|
+
person1:
|
|
26
|
+
age: 67
|
|
27
|
+
social_security: 30_000
|
|
28
|
+
employment_income: 50_000
|
|
29
|
+
tax_units:
|
|
30
|
+
tax_unit:
|
|
31
|
+
members: [person1]
|
|
32
|
+
filing_status: SINGLE
|
|
33
|
+
households:
|
|
34
|
+
household:
|
|
35
|
+
members: [person1]
|
|
36
|
+
output:
|
|
37
|
+
# Total taxable SS should be 85% of $30K = $25,500
|
|
38
|
+
tax_unit_taxable_social_security: 25_500
|
|
39
|
+
# Tier 1 (OASDI portion) - statutory bracket amount for single filer in tier 2
|
|
40
|
+
# = min(0.5 * $30K, 0.5 * ($34K - $25K)) = min($15K, $4.5K) = $4,500
|
|
41
|
+
taxable_social_security_tier_1: 4_500
|
|
42
|
+
# Tier 2 (Medicare HI portion) = total - tier1 = $25,500 - $4,500 = $21,000
|
|
43
|
+
# This is where the bug manifests - with only subtracts, it computes negative!
|
|
44
|
+
taxable_social_security_tier_2: 21_000
|
|
45
|
+
|
|
46
|
+
- name: TOB revenue split follows tier proportions
|
|
47
|
+
period: 2024
|
|
48
|
+
absolute_error_margin: 100
|
|
49
|
+
input:
|
|
50
|
+
people:
|
|
51
|
+
person1:
|
|
52
|
+
age: 67
|
|
53
|
+
social_security: 30_000
|
|
54
|
+
employment_income: 50_000
|
|
55
|
+
tax_units:
|
|
56
|
+
tax_unit:
|
|
57
|
+
members: [person1]
|
|
58
|
+
filing_status: SINGLE
|
|
59
|
+
households:
|
|
60
|
+
household:
|
|
61
|
+
members: [person1]
|
|
62
|
+
output:
|
|
63
|
+
# With tiers at ~18% tier1 / ~82% tier2 for this individual case,
|
|
64
|
+
# the TOB revenue should split proportionally.
|
|
65
|
+
# Total TOB revenue ~$4,240 (from existing test)
|
|
66
|
+
# OASDI share: $4,240 * (4,500 / 25,500) = $748
|
|
67
|
+
# Medicare HI share: $4,240 * (21,000 / 25,500) = $3,492
|
|
68
|
+
tob_revenue_total: 4240
|
|
69
|
+
tob_revenue_oasdi: 748
|
|
70
|
+
tob_revenue_medicare_hi: 3492
|
|
71
|
+
|
|
72
|
+
- name: Verify tier2 is positive (regression test for subtracts bug)
|
|
73
|
+
period: 2024
|
|
74
|
+
input:
|
|
75
|
+
people:
|
|
76
|
+
person1:
|
|
77
|
+
age: 67
|
|
78
|
+
social_security: 20_000
|
|
79
|
+
employment_income: 40_000
|
|
80
|
+
tax_units:
|
|
81
|
+
tax_unit:
|
|
82
|
+
members: [person1]
|
|
83
|
+
filing_status: SINGLE
|
|
84
|
+
households:
|
|
85
|
+
household:
|
|
86
|
+
members: [person1]
|
|
87
|
+
output:
|
|
88
|
+
# Tier 2 MUST be positive (total - tier1)
|
|
89
|
+
# If buggy subtracts computes 0 - total - tier1, this will be negative and fail
|
|
90
|
+
taxable_social_security_tier_2: 12_500 # Approximate, will fail if negative
|
policyengine_us/tests/policy/baseline/gov/states/az/tax/income/az_property_tax_credit_agi.yaml
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Per ITR 12-1, property tax credit AGI is Federal AGI minus Social Security.
|
|
2
|
+
# Unlike regular AZ income tax, it does NOT exclude pensions, capital gains, etc.
|
|
3
|
+
|
|
4
|
+
- name: Basic wages and interest (no Social Security)
|
|
5
|
+
period: 2024
|
|
6
|
+
input:
|
|
7
|
+
state_code: AZ
|
|
8
|
+
adjusted_gross_income: 3_766.08
|
|
9
|
+
tax_unit_taxable_social_security: 0
|
|
10
|
+
output:
|
|
11
|
+
az_property_tax_credit_agi: 3_766.08
|
|
12
|
+
|
|
13
|
+
- name: Social Security is excluded from property tax credit AGI
|
|
14
|
+
period: 2024
|
|
15
|
+
input:
|
|
16
|
+
state_code: AZ
|
|
17
|
+
adjusted_gross_income: 20_000
|
|
18
|
+
tax_unit_taxable_social_security: 8_500
|
|
19
|
+
output:
|
|
20
|
+
# $20,000 - $8,500 = $11,500
|
|
21
|
+
az_property_tax_credit_agi: 11_500
|
|
22
|
+
|
|
23
|
+
- name: Pension income is NOT excluded (unlike regular AZ income tax)
|
|
24
|
+
period: 2024
|
|
25
|
+
input:
|
|
26
|
+
state_code: AZ
|
|
27
|
+
adjusted_gross_income: 15_000
|
|
28
|
+
tax_unit_taxable_social_security: 0
|
|
29
|
+
output:
|
|
30
|
+
az_property_tax_credit_agi: 15_000
|
|
31
|
+
|
|
32
|
+
- name: Capital gains are NOT excluded (unlike regular AZ income tax)
|
|
33
|
+
period: 2024
|
|
34
|
+
input:
|
|
35
|
+
state_code: AZ
|
|
36
|
+
adjusted_gross_income: 25_000
|
|
37
|
+
tax_unit_taxable_social_security: 0
|
|
38
|
+
output:
|
|
39
|
+
az_property_tax_credit_agi: 25_000
|
|
40
|
+
|
|
41
|
+
- name: Capped at zero when Social Security exceeds other income
|
|
42
|
+
period: 2024
|
|
43
|
+
input:
|
|
44
|
+
state_code: AZ
|
|
45
|
+
adjusted_gross_income: 5_000
|
|
46
|
+
tax_unit_taxable_social_security: 6_000
|
|
47
|
+
output:
|
|
48
|
+
az_property_tax_credit_agi: 0
|
|
49
|
+
|
|
50
|
+
- name: Combined income types with Social Security exclusion
|
|
51
|
+
period: 2024
|
|
52
|
+
input:
|
|
53
|
+
state_code: AZ
|
|
54
|
+
adjusted_gross_income: 22_250
|
|
55
|
+
tax_unit_taxable_social_security: 4_250
|
|
56
|
+
output:
|
|
57
|
+
# $22,250 - $4,250 = $18,000
|
|
58
|
+
az_property_tax_credit_agi: 18_000
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Integration tests for Arizona property tax credit income calculation
|
|
2
|
+
# Per ARS 43-1072 and ITR 12-1
|
|
3
|
+
|
|
4
|
+
- name: Property tax credit AGI with aged person (issue 6956)
|
|
5
|
+
period: 2024
|
|
6
|
+
input:
|
|
7
|
+
people:
|
|
8
|
+
person1:
|
|
9
|
+
age: 75
|
|
10
|
+
employment_income: 3_715.56
|
|
11
|
+
taxable_interest_income: 50.52
|
|
12
|
+
tax_units:
|
|
13
|
+
tax_unit:
|
|
14
|
+
members: [person1]
|
|
15
|
+
households:
|
|
16
|
+
household:
|
|
17
|
+
members: [person1]
|
|
18
|
+
state_code: AZ
|
|
19
|
+
output:
|
|
20
|
+
# Federal AGI = wages + interest = 3,715.56 + 50.52 = 3,766.08
|
|
21
|
+
adjusted_gross_income: 3_766.08
|
|
22
|
+
# AZ AGI subtracts aged exemption: 3,766.08 - 2,100 = 1,666.08
|
|
23
|
+
az_agi: 1_666.08
|
|
24
|
+
# Property tax credit AGI should NOT subtract exemptions or SS
|
|
25
|
+
# No SS, so equals Federal AGI
|
|
26
|
+
az_property_tax_credit_agi: 3_766.08
|
|
27
|
+
# Income $3,766.08 > threshold $3,751 for single, so not eligible
|
|
28
|
+
az_property_tax_credit: 0
|
|
@@ -243,3 +243,30 @@
|
|
|
243
243
|
state_code: DC
|
|
244
244
|
output:
|
|
245
245
|
dc_ptc: 1_250 # = min(1250, 20000 * 20% - 0 * 5%)
|
|
246
|
+
|
|
247
|
+
- name: dc_ptc unit test 9 (negative AGI with no rent or property taxes)
|
|
248
|
+
absolute_error_margin: 0.01
|
|
249
|
+
period: 2024
|
|
250
|
+
input:
|
|
251
|
+
people:
|
|
252
|
+
person1:
|
|
253
|
+
is_tax_unit_head: true
|
|
254
|
+
age: 40
|
|
255
|
+
short_term_capital_gains: -12_679.877
|
|
256
|
+
person2:
|
|
257
|
+
is_tax_unit_spouse: true
|
|
258
|
+
age: 40
|
|
259
|
+
short_term_capital_gains: -12_679.877
|
|
260
|
+
tax_units:
|
|
261
|
+
tax_unit:
|
|
262
|
+
members: [person1, person2]
|
|
263
|
+
spm_units:
|
|
264
|
+
spm_unit:
|
|
265
|
+
members: [person1, person2]
|
|
266
|
+
households:
|
|
267
|
+
household:
|
|
268
|
+
members: [person1, person2]
|
|
269
|
+
state_code: DC
|
|
270
|
+
output:
|
|
271
|
+
dc_ptc: 0 # No credit when there's no rent or property taxes paid
|
|
272
|
+
dc_income_tax: 0
|
|
@@ -225,8 +225,36 @@
|
|
|
225
225
|
filing_status: SINGLE
|
|
226
226
|
head_is_dependent_elsewhere: false
|
|
227
227
|
households:
|
|
228
|
-
household:
|
|
228
|
+
household:
|
|
229
229
|
members: [person1, person2]
|
|
230
230
|
state_code: HI
|
|
231
231
|
output:
|
|
232
232
|
hi_food_excise_credit: 200
|
|
233
|
+
|
|
234
|
+
- name: JOINT filing with negative AGI should receive credit
|
|
235
|
+
period: 2024
|
|
236
|
+
input:
|
|
237
|
+
people:
|
|
238
|
+
person1:
|
|
239
|
+
age: 40
|
|
240
|
+
short_term_capital_gains: -12_679.877
|
|
241
|
+
is_tax_unit_head: true
|
|
242
|
+
person2:
|
|
243
|
+
age: 40
|
|
244
|
+
short_term_capital_gains: -12_679.877
|
|
245
|
+
is_tax_unit_spouse: true
|
|
246
|
+
tax_units:
|
|
247
|
+
tax_unit:
|
|
248
|
+
members: [person1, person2]
|
|
249
|
+
spm_units:
|
|
250
|
+
spm_unit:
|
|
251
|
+
members: [person1, person2]
|
|
252
|
+
households:
|
|
253
|
+
household:
|
|
254
|
+
members: [person1, person2]
|
|
255
|
+
state_code: HI
|
|
256
|
+
output:
|
|
257
|
+
adjusted_gross_income: -3_000
|
|
258
|
+
exemptions_count: 2
|
|
259
|
+
hi_food_excise_credit: 440
|
|
260
|
+
hi_income_tax: -440
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
period: 2021
|
|
3
3
|
input:
|
|
4
4
|
cdcc_potential: 1_000
|
|
5
|
-
|
|
5
|
+
ia_taxable_income: 9_999.99
|
|
6
6
|
state_code: IA
|
|
7
7
|
output:
|
|
8
8
|
ia_cdcc: 750
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
period: 2022
|
|
12
12
|
input:
|
|
13
13
|
cdcc_potential: 1_000
|
|
14
|
-
|
|
14
|
+
ia_taxable_income: 40_000
|
|
15
15
|
state_code: IA
|
|
16
16
|
output:
|
|
17
17
|
ia_cdcc: 300
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
period: 2022
|
|
21
21
|
input:
|
|
22
22
|
cdcc_potential: 1_000
|
|
23
|
-
|
|
23
|
+
ia_taxable_income: 90_000
|
|
24
24
|
state_code: IA
|
|
25
25
|
output:
|
|
26
26
|
ia_cdcc: 0
|
|
@@ -372,5 +372,35 @@
|
|
|
372
372
|
household:
|
|
373
373
|
members: [person1]
|
|
374
374
|
state_code: IA
|
|
375
|
-
output:
|
|
375
|
+
output:
|
|
376
376
|
ia_taxable_income_consolidated: 85_400
|
|
377
|
+
|
|
378
|
+
- name: IA CDCC uses taxable income not net income
|
|
379
|
+
absolute_error_margin: 1
|
|
380
|
+
period: 2024
|
|
381
|
+
input:
|
|
382
|
+
people:
|
|
383
|
+
person1:
|
|
384
|
+
age: 70
|
|
385
|
+
employment_income: 10_000
|
|
386
|
+
is_tax_unit_head: true
|
|
387
|
+
person2:
|
|
388
|
+
age: 70
|
|
389
|
+
employment_income: 10_000
|
|
390
|
+
is_tax_unit_spouse: true
|
|
391
|
+
person3:
|
|
392
|
+
age: 1
|
|
393
|
+
is_tax_unit_dependent: true
|
|
394
|
+
tax_units:
|
|
395
|
+
tax_unit:
|
|
396
|
+
members: [person1, person2, person3]
|
|
397
|
+
tax_unit_childcare_expenses: 10_827
|
|
398
|
+
spm_units:
|
|
399
|
+
spm_unit:
|
|
400
|
+
members: [person1, person2, person3]
|
|
401
|
+
households:
|
|
402
|
+
household:
|
|
403
|
+
members: [person1, person2, person3]
|
|
404
|
+
state_code: IA
|
|
405
|
+
output:
|
|
406
|
+
ia_cdcc: 720 # $960 × 0.75 (taxable income $0 < $10,000)
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
- name: Case 1, meet all requirements.
|
|
1
|
+
- name: Case 1, meet all requirements.
|
|
2
2
|
period: 2023
|
|
3
3
|
input:
|
|
4
|
-
|
|
4
|
+
is_ssi_eligible: true
|
|
5
5
|
il_aabd_immigration_status_eligible_person: true
|
|
6
6
|
state_code: IL
|
|
7
7
|
output:
|
|
8
8
|
il_aabd_non_financial_eligible_person: true
|
|
9
9
|
|
|
10
|
-
- name: Case 2, not
|
|
10
|
+
- name: Case 2, not SSI eligible.
|
|
11
11
|
period: 2023
|
|
12
12
|
input:
|
|
13
|
-
|
|
13
|
+
is_ssi_eligible: false
|
|
14
14
|
il_aabd_immigration_status_eligible_person: true
|
|
15
15
|
state_code: IL
|
|
16
16
|
output:
|
|
17
17
|
il_aabd_non_financial_eligible_person: false
|
|
18
18
|
|
|
19
|
-
- name: Case 3, immigration ineligible.
|
|
19
|
+
- name: Case 3, immigration ineligible.
|
|
20
20
|
period: 2023
|
|
21
21
|
input:
|
|
22
|
-
|
|
22
|
+
is_ssi_eligible: true
|
|
23
23
|
il_aabd_immigration_status_eligible_person: false
|
|
24
24
|
state_code: IL
|
|
25
25
|
output:
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
# person2: $25,000 / $20,440 = 1.22 (122% FPL) - income eligible
|
|
113
113
|
# person3, person4: $0 income - income eligible
|
|
114
114
|
il_fpp_income_eligible: [true, true, true, true]
|
|
115
|
-
#
|
|
116
|
-
il_fpp_eligible: [true, true,
|
|
115
|
+
# All meet criteria: income eligible, not pregnant, not receiving Medicaid
|
|
116
|
+
il_fpp_eligible: [true, true, true, true]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
- name: Case 1, disability eligible via
|
|
1
|
+
- name: Case 1, disability eligible via disability status.
|
|
2
2
|
period: 2024-01
|
|
3
3
|
input:
|
|
4
4
|
state_code: IL
|
|
5
|
-
|
|
5
|
+
is_disabled: true
|
|
6
6
|
social_security_disability: 0
|
|
7
7
|
output:
|
|
8
8
|
il_hbwd_disability_eligible: true
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
period: 2024-01
|
|
12
12
|
input:
|
|
13
13
|
state_code: IL
|
|
14
|
-
|
|
14
|
+
is_disabled: false
|
|
15
15
|
social_security_disability: 14_400 # $1,200/month
|
|
16
16
|
output:
|
|
17
17
|
il_hbwd_disability_eligible: true
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
period: 2024-01
|
|
21
21
|
input:
|
|
22
22
|
state_code: IL
|
|
23
|
-
|
|
23
|
+
is_disabled: true
|
|
24
24
|
social_security_disability: 14_400 # $1,200/month
|
|
25
25
|
output:
|
|
26
26
|
il_hbwd_disability_eligible: true
|
|
@@ -29,7 +29,20 @@
|
|
|
29
29
|
period: 2024-01
|
|
30
30
|
input:
|
|
31
31
|
state_code: IL
|
|
32
|
-
|
|
32
|
+
is_disabled: false
|
|
33
33
|
social_security_disability: 0
|
|
34
34
|
output:
|
|
35
35
|
il_hbwd_disability_eligible: false
|
|
36
|
+
|
|
37
|
+
- name: Case 5, disabled with high earnings (above SGA) - eligible because SGA does not apply to HBWD.
|
|
38
|
+
# This test demonstrates the fix: with the old formula (is_ssi_disabled),
|
|
39
|
+
# this person would be ineligible due to SGA ($1,550/month in 2024).
|
|
40
|
+
# With the new formula (is_disabled), SGA does not apply per DB101 Illinois.
|
|
41
|
+
period: 2024-01
|
|
42
|
+
input:
|
|
43
|
+
state_code: IL
|
|
44
|
+
is_disabled: true
|
|
45
|
+
employment_income: 36_000 # $3,000/month - well above SGA threshold
|
|
46
|
+
social_security_disability: 0
|
|
47
|
+
output:
|
|
48
|
+
il_hbwd_disability_eligible: true
|
policyengine_us/tests/policy/baseline/gov/states/il/hfs/hbwd/eligibility/il_hbwd_eligible.yaml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
input:
|
|
4
4
|
state_code: IL
|
|
5
5
|
age: 35
|
|
6
|
-
|
|
6
|
+
is_disabled: true
|
|
7
7
|
employment_income: 30_000 # $2,500/month
|
|
8
8
|
spm_unit_cash_assets: 10_000
|
|
9
9
|
output:
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
input:
|
|
26
26
|
state_code: IL
|
|
27
27
|
age: 70
|
|
28
|
-
|
|
28
|
+
is_disabled: true
|
|
29
29
|
employment_income: 24_000 # $2,000/month
|
|
30
30
|
spm_unit_cash_assets: 5_000
|
|
31
31
|
output:
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
input:
|
|
37
37
|
state_code: IL
|
|
38
38
|
age: 40
|
|
39
|
-
|
|
39
|
+
is_disabled: true
|
|
40
40
|
social_security_disability: 18_000 # $1,500/month
|
|
41
41
|
spm_unit_cash_assets: 5_000
|
|
42
42
|
output:
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
input:
|
|
48
48
|
state_code: IL
|
|
49
49
|
age: 45
|
|
50
|
-
|
|
50
|
+
is_disabled: true
|
|
51
51
|
employment_income: 72_000 # $6,000/month
|
|
52
52
|
spm_unit_cash_assets: 5_000
|
|
53
53
|
output:
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
input:
|
|
59
59
|
state_code: IL
|
|
60
60
|
age: 30
|
|
61
|
-
|
|
61
|
+
is_disabled: true
|
|
62
62
|
employment_income: 24_000 # $2,000/month
|
|
63
63
|
spm_unit_cash_assets: 30_000
|
|
64
64
|
output:
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
input:
|
|
5
5
|
state_code: IL
|
|
6
6
|
age: 28
|
|
7
|
-
|
|
7
|
+
is_disabled: true
|
|
8
8
|
employment_income: 24_000 # $2,000/month
|
|
9
9
|
social_security_disability: 12_000 # $1,000/month
|
|
10
10
|
spm_unit_cash_assets: 15_000
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
people:
|
|
36
36
|
person1:
|
|
37
37
|
age: 45
|
|
38
|
-
|
|
38
|
+
is_disabled: true
|
|
39
39
|
employment_income: 30_000 # $2,500/month
|
|
40
40
|
social_security_disability: 9_600 # $800/month
|
|
41
41
|
person2:
|
|
42
42
|
age: 43
|
|
43
|
-
|
|
43
|
+
is_disabled: false
|
|
44
44
|
employment_income: 36_000 # $3,000/month
|
|
45
45
|
spm_units:
|
|
46
46
|
spm_unit:
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
people:
|
|
67
67
|
person1:
|
|
68
68
|
age: 35
|
|
69
|
-
|
|
69
|
+
is_disabled: true
|
|
70
70
|
self_employment_income: 30_000 # $2,500/month
|
|
71
71
|
monthly_hours_worked: 160 # Full-time
|
|
72
72
|
person2:
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
input:
|
|
103
103
|
state_code: IL
|
|
104
104
|
age: 50
|
|
105
|
-
|
|
105
|
+
is_disabled: true
|
|
106
106
|
employment_income: 48_000 # $4,000/month
|
|
107
107
|
social_security_disability: 4_800 # $400/month
|
|
108
108
|
spm_unit_cash_assets: 20_000
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
input:
|
|
125
125
|
state_code: IL
|
|
126
126
|
age: 40
|
|
127
|
-
|
|
127
|
+
is_disabled: true
|
|
128
128
|
employment_income: 60_000 # $5,000/month
|
|
129
129
|
spm_unit_cash_assets: 10_000
|
|
130
130
|
output:
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
input:
|
|
144
144
|
state_code: IL
|
|
145
145
|
age: 55
|
|
146
|
-
|
|
146
|
+
is_disabled: false
|
|
147
147
|
social_security_disability: 18_000 # $1,500/month SSDI
|
|
148
148
|
employment_income: 12_000 # $1,000/month part-time
|
|
149
149
|
spm_unit_cash_assets: 5_000
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
input:
|
|
171
171
|
state_code: IL
|
|
172
172
|
age: 15
|
|
173
|
-
|
|
173
|
+
is_disabled: true
|
|
174
174
|
employment_income: 12_000 # $1,000/month
|
|
175
175
|
spm_unit_cash_assets: 5_000
|
|
176
176
|
output:
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
- name: MA joint with STCG losses offsetting LTCG should have zero Part C tax
|
|
2
|
+
absolute_error_margin: 1
|
|
3
|
+
period: 2024
|
|
4
|
+
input:
|
|
5
|
+
people:
|
|
6
|
+
person1:
|
|
7
|
+
age: 40
|
|
8
|
+
short_term_capital_gains: -4_835_234
|
|
9
|
+
long_term_capital_gains: 2_450_480.75
|
|
10
|
+
is_tax_unit_head: true
|
|
11
|
+
person2:
|
|
12
|
+
age: 40
|
|
13
|
+
short_term_capital_gains: -4_835_234
|
|
14
|
+
long_term_capital_gains: 2_450_480.75
|
|
15
|
+
is_tax_unit_spouse: true
|
|
16
|
+
tax_units:
|
|
17
|
+
tax_unit:
|
|
18
|
+
members: [person1, person2]
|
|
19
|
+
spm_units:
|
|
20
|
+
spm_unit:
|
|
21
|
+
members: [person1, person2]
|
|
22
|
+
households:
|
|
23
|
+
household:
|
|
24
|
+
members: [person1, person2]
|
|
25
|
+
state_fips: 25
|
|
26
|
+
output:
|
|
27
|
+
ma_part_c_taxable_income: 0
|
|
28
|
+
ma_income_tax: 0
|