policyengine-us 1.418.0__py3-none-any.whl → 1.419.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.
Potentially problematic release.
This version of policyengine-us might be problematic. Click here for more details.
- policyengine_us/parameters/gov/dhs/immigration/qualified_noncitizen_status.yaml +18 -0
- policyengine_us/parameters/gov/states/tx/tanf/age_threshold/minor_child.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/age_threshold/student_dependent.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/deductions/child_support.yaml +14 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/deductions/dependent_care.yaml +23 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/deductions/work_expense.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/disregards/applicant_fraction.yaml +12 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_cap.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_months.yaml +14 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/disregards/continuing_recipient_rate.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/sources/earned.yaml +15 -0
- policyengine_us/parameters/gov/states/tx/tanf/income/sources/unearned.yaml +28 -0
- policyengine_us/parameters/gov/states/tx/tanf/minimum_grant.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/additional_person.yaml +17 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/caretaker_with_second_parent.yaml +81 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/caretaker_without_second_parent.yaml +85 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/budgetary_needs/non_caretaker.yaml +85 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/recognizable_needs/additional_person.yaml +17 -0
- policyengine_us/parameters/gov/states/tx/tanf/needs_standard/recognizable_needs/rate.yaml +17 -0
- policyengine_us/parameters/gov/states/tx/tanf/ottanf/payment_amount.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/payment_standard/additional_person.yaml +19 -0
- policyengine_us/parameters/gov/states/tx/tanf/payment_standard/caretaker_with_second_parent.yaml +105 -0
- policyengine_us/parameters/gov/states/tx/tanf/payment_standard/caretaker_without_second_parent.yaml +112 -0
- policyengine_us/parameters/gov/states/tx/tanf/payment_standard/non_caretaker.yaml +111 -0
- policyengine_us/parameters/gov/states/tx/tanf/resources/resource_limit.yaml +13 -0
- policyengine_us/parameters/gov/states/tx/tanf/resources/vehicle_exemption.yaml +11 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_age_eligible_child.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_assistance_unit_size.yaml +62 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_child.yaml +34 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_parent.yaml +38 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs.yaml +65 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs_test.yaml +30 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_caretaker_type.yaml +116 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_eligible.yaml +123 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_income_eligible.yaml +69 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_recognizable_needs_test.yaml +54 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_resources_eligible.yaml +44 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_child_support_deduction.yaml +55 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.yaml +54 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/earned/tx_tanf_countable_earned_income.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/earned/tx_tanf_earned_income_after_disregard_person.yaml +36 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/tx_tanf_income_for_budgetary_needs_test.yaml +102 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/income/unearned/tx_tanf_countable_unearned_income.yaml +49 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/integration.yaml +291 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf.yaml +47 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_crisis_criteria.yaml +17 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.yaml +158 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/resources/tx_tanf_countable_resources.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_regular_tanf.yaml +74 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf.yaml +89 -0
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf_payment_standard.yaml +61 -0
- policyengine_us/tests/policy/baseline/household/demographic/person/is_citizen_or_legal_immigrant.yaml +55 -0
- policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_age_eligible_child.py +27 -0
- policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_assistance_unit_size.py +18 -0
- policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_categorically_eligible_person.py +19 -0
- policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_child.py +24 -0
- policyengine_us/variables/gov/states/tx/tanf/assistance_unit/tx_tanf_eligible_parent.py +24 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs.py +57 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_budgetary_needs_test.py +21 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_caretaker_type.py +50 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_eligible.py +29 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_income_eligible.py +40 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_recognizable_needs_test.py +23 -0
- policyengine_us/variables/gov/states/tx/tanf/eligibility/tx_tanf_resources_eligible.py +19 -0
- policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_child_support_deduction.py +21 -0
- policyengine_us/variables/gov/states/tx/tanf/income/deductions/tx_tanf_dependent_care_deduction.py +39 -0
- policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_countable_earned_income.py +28 -0
- policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_earned_income_after_disregard_person.py +52 -0
- policyengine_us/variables/gov/states/tx/tanf/income/earned/tx_tanf_gross_earned_income.py +16 -0
- policyengine_us/variables/gov/states/tx/tanf/income/tx_tanf_countable_income.py +19 -0
- policyengine_us/variables/gov/states/tx/tanf/income/tx_tanf_income_for_budgetary_needs_test.py +47 -0
- policyengine_us/variables/gov/states/tx/tanf/income/unearned/tx_tanf_countable_unearned_income.py +27 -0
- policyengine_us/variables/gov/states/tx/tanf/income/unearned/tx_tanf_gross_unearned_income.py +16 -0
- policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf.py +17 -0
- policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf_crisis_criteria.py +21 -0
- policyengine_us/variables/gov/states/tx/tanf/ottanf/tx_ottanf_eligible.py +36 -0
- policyengine_us/variables/gov/states/tx/tanf/resources/tx_tanf_countable_resources.py +31 -0
- policyengine_us/variables/gov/states/tx/tanf/tx_regular_tanf.py +27 -0
- policyengine_us/variables/gov/states/tx/tanf/tx_tanf.py +25 -0
- policyengine_us/variables/gov/states/tx/tanf/tx_tanf_payment_standard.py +51 -0
- policyengine_us/variables/household/demographic/person/is_citizen_or_legal_immigrant.py +22 -0
- {policyengine_us-1.418.0.dist-info → policyengine_us-1.419.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.418.0.dist-info → policyengine_us-1.419.0.dist-info}/RECORD +87 -8
- policyengine_us/parameters/gov/states/tx/tanf/monthly_income_limit.yaml +0 -31
- policyengine_us/tests/policy/baseline/gov/states/tx/tanf/tx_tanf_income_limit.yaml +0 -17
- policyengine_us/variables/gov/states/tx/tanf/tx_tanf_income_limit.py +0 -18
- {policyengine_us-1.418.0.dist-info → policyengine_us-1.419.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.418.0.dist-info → policyengine_us-1.419.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.418.0.dist-info → policyengine_us-1.419.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
- name: Case 1, meets all eligibility requirements.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
age: 10
|
|
7
|
+
tx_tanf_eligible_child: true
|
|
8
|
+
spm_units:
|
|
9
|
+
spm_unit:
|
|
10
|
+
members: [person1]
|
|
11
|
+
tx_tanf_income_eligible: true
|
|
12
|
+
tx_tanf_resources_eligible: true
|
|
13
|
+
households:
|
|
14
|
+
household:
|
|
15
|
+
members: [person1]
|
|
16
|
+
state_code: TX
|
|
17
|
+
output:
|
|
18
|
+
tx_tanf_eligible: true
|
|
19
|
+
# Has eligible child (true) AND income eligible (true) AND resources eligible (true) → Eligible
|
|
20
|
+
|
|
21
|
+
- name: Case 2, fails income test.
|
|
22
|
+
period: 2025-01
|
|
23
|
+
input:
|
|
24
|
+
people:
|
|
25
|
+
person1:
|
|
26
|
+
age: 10
|
|
27
|
+
tx_tanf_eligible_child: true
|
|
28
|
+
spm_units:
|
|
29
|
+
spm_unit:
|
|
30
|
+
members: [person1]
|
|
31
|
+
tx_tanf_income_eligible: false
|
|
32
|
+
tx_tanf_resources_eligible: true
|
|
33
|
+
households:
|
|
34
|
+
household:
|
|
35
|
+
members: [person1]
|
|
36
|
+
state_code: TX
|
|
37
|
+
output:
|
|
38
|
+
tx_tanf_eligible: false
|
|
39
|
+
# Has eligible child (true) but fails income test (false) → Not eligible
|
|
40
|
+
|
|
41
|
+
- name: Case 3, fails resources test.
|
|
42
|
+
period: 2025-01
|
|
43
|
+
input:
|
|
44
|
+
people:
|
|
45
|
+
person1:
|
|
46
|
+
age: 10
|
|
47
|
+
tx_tanf_eligible_child: true
|
|
48
|
+
spm_units:
|
|
49
|
+
spm_unit:
|
|
50
|
+
members: [person1]
|
|
51
|
+
tx_tanf_income_eligible: true
|
|
52
|
+
tx_tanf_resources_eligible: false
|
|
53
|
+
households:
|
|
54
|
+
household:
|
|
55
|
+
members: [person1]
|
|
56
|
+
state_code: TX
|
|
57
|
+
output:
|
|
58
|
+
tx_tanf_eligible: false
|
|
59
|
+
# Has eligible child (true) and income eligible (true) but fails resources test (false) → Not eligible
|
|
60
|
+
|
|
61
|
+
- name: Case 4, no eligible child.
|
|
62
|
+
period: 2025-01
|
|
63
|
+
input:
|
|
64
|
+
people:
|
|
65
|
+
person1:
|
|
66
|
+
age: 10
|
|
67
|
+
tx_tanf_eligible_child: false
|
|
68
|
+
spm_units:
|
|
69
|
+
spm_unit:
|
|
70
|
+
members: [person1]
|
|
71
|
+
tx_tanf_income_eligible: true
|
|
72
|
+
tx_tanf_resources_eligible: true
|
|
73
|
+
households:
|
|
74
|
+
household:
|
|
75
|
+
members: [person1]
|
|
76
|
+
state_code: TX
|
|
77
|
+
output:
|
|
78
|
+
tx_tanf_eligible: false
|
|
79
|
+
# No eligible child (false) even though passes financial tests → Not eligible
|
|
80
|
+
# Must have at least one eligible child
|
|
81
|
+
|
|
82
|
+
- name: Case 5, fails all tests.
|
|
83
|
+
period: 2025-01
|
|
84
|
+
input:
|
|
85
|
+
people:
|
|
86
|
+
person1:
|
|
87
|
+
age: 10
|
|
88
|
+
tx_tanf_eligible_child: false
|
|
89
|
+
spm_units:
|
|
90
|
+
spm_unit:
|
|
91
|
+
members: [person1]
|
|
92
|
+
tx_tanf_income_eligible: false
|
|
93
|
+
tx_tanf_resources_eligible: false
|
|
94
|
+
households:
|
|
95
|
+
household:
|
|
96
|
+
members: [person1]
|
|
97
|
+
state_code: TX
|
|
98
|
+
output:
|
|
99
|
+
tx_tanf_eligible: false
|
|
100
|
+
# Fails all three requirements → Not eligible
|
|
101
|
+
|
|
102
|
+
- name: Case 6, multiple eligible children.
|
|
103
|
+
period: 2025-01
|
|
104
|
+
input:
|
|
105
|
+
people:
|
|
106
|
+
person1:
|
|
107
|
+
age: 10
|
|
108
|
+
tx_tanf_eligible_child: true
|
|
109
|
+
person2:
|
|
110
|
+
age: 8
|
|
111
|
+
tx_tanf_eligible_child: true
|
|
112
|
+
spm_units:
|
|
113
|
+
spm_unit:
|
|
114
|
+
members: [person1, person2]
|
|
115
|
+
tx_tanf_income_eligible: true
|
|
116
|
+
tx_tanf_resources_eligible: true
|
|
117
|
+
households:
|
|
118
|
+
household:
|
|
119
|
+
members: [person1, person2]
|
|
120
|
+
state_code: TX
|
|
121
|
+
output:
|
|
122
|
+
tx_tanf_eligible: true
|
|
123
|
+
# Multiple eligible children AND passes financial tests → Eligible
|
policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_income_eligible.yaml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
- name: Case 1, applicant passes both tests.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
tx_tanf_budgetary_needs_test: true
|
|
5
|
+
tx_tanf_recognizable_needs_test: true
|
|
6
|
+
is_tanf_enrolled: false
|
|
7
|
+
state_code: TX
|
|
8
|
+
output:
|
|
9
|
+
tx_tanf_income_eligible: true
|
|
10
|
+
# Applicant: passes budgetary (true) AND recognizable (true) → Eligible
|
|
11
|
+
|
|
12
|
+
- name: Case 2, applicant passes budgetary but fails recognizable.
|
|
13
|
+
period: 2025-01
|
|
14
|
+
input:
|
|
15
|
+
tx_tanf_budgetary_needs_test: true
|
|
16
|
+
tx_tanf_recognizable_needs_test: false
|
|
17
|
+
is_tanf_enrolled: false
|
|
18
|
+
state_code: TX
|
|
19
|
+
output:
|
|
20
|
+
tx_tanf_income_eligible: false
|
|
21
|
+
# Applicant: passes budgetary (true) but fails recognizable (false) → Not eligible
|
|
22
|
+
# Must pass BOTH tests
|
|
23
|
+
|
|
24
|
+
- name: Case 3, applicant fails budgetary but passes recognizable.
|
|
25
|
+
period: 2025-01
|
|
26
|
+
input:
|
|
27
|
+
tx_tanf_budgetary_needs_test: false
|
|
28
|
+
tx_tanf_recognizable_needs_test: true
|
|
29
|
+
is_tanf_enrolled: false
|
|
30
|
+
state_code: TX
|
|
31
|
+
output:
|
|
32
|
+
tx_tanf_income_eligible: false
|
|
33
|
+
# Applicant: fails budgetary (false) even though passes recognizable (true) → Not eligible
|
|
34
|
+
# Must pass BOTH tests
|
|
35
|
+
|
|
36
|
+
- name: Case 4, applicant fails both tests.
|
|
37
|
+
period: 2025-01
|
|
38
|
+
input:
|
|
39
|
+
tx_tanf_budgetary_needs_test: false
|
|
40
|
+
tx_tanf_recognizable_needs_test: false
|
|
41
|
+
is_tanf_enrolled: false
|
|
42
|
+
state_code: TX
|
|
43
|
+
output:
|
|
44
|
+
tx_tanf_income_eligible: false
|
|
45
|
+
# Applicant: fails both tests → Not eligible
|
|
46
|
+
|
|
47
|
+
- name: Case 5, continuing recipient passes recognizable test.
|
|
48
|
+
period: 2025-01
|
|
49
|
+
input:
|
|
50
|
+
tx_tanf_budgetary_needs_test: false
|
|
51
|
+
tx_tanf_recognizable_needs_test: true
|
|
52
|
+
is_tanf_enrolled: true
|
|
53
|
+
state_code: TX
|
|
54
|
+
output:
|
|
55
|
+
tx_tanf_income_eligible: true
|
|
56
|
+
# Continuing: only needs to pass recognizable test (true) → Eligible
|
|
57
|
+
# Budgetary test result doesn't matter for continuing recipients
|
|
58
|
+
|
|
59
|
+
- name: Case 6, continuing recipient fails recognizable test.
|
|
60
|
+
period: 2025-01
|
|
61
|
+
input:
|
|
62
|
+
tx_tanf_budgetary_needs_test: true
|
|
63
|
+
tx_tanf_recognizable_needs_test: false
|
|
64
|
+
is_tanf_enrolled: true
|
|
65
|
+
state_code: TX
|
|
66
|
+
output:
|
|
67
|
+
tx_tanf_income_eligible: false
|
|
68
|
+
# Continuing: fails recognizable test (false) → Not eligible
|
|
69
|
+
# Even though budgetary is true, it's not checked for continuing recipients
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
- name: Case 1, income below recognizable needs passes.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
tx_tanf_countable_income: 100
|
|
5
|
+
tx_tanf_budgetary_needs: 650
|
|
6
|
+
state_code: TX
|
|
7
|
+
output:
|
|
8
|
+
tx_tanf_recognizable_needs_test: true
|
|
9
|
+
# Recognizable needs = 650 * 0.25 = 162.5
|
|
10
|
+
# Income (100) < recognizable needs (162.5) → Pass
|
|
11
|
+
|
|
12
|
+
- name: Case 2, income equals recognizable needs fails.
|
|
13
|
+
period: 2025-01
|
|
14
|
+
input:
|
|
15
|
+
tx_tanf_countable_income: 162.5
|
|
16
|
+
tx_tanf_budgetary_needs: 650
|
|
17
|
+
state_code: TX
|
|
18
|
+
output:
|
|
19
|
+
tx_tanf_recognizable_needs_test: false
|
|
20
|
+
# Recognizable needs = 650 * 0.25 = 162.5
|
|
21
|
+
# Income (162.5) ≥ recognizable needs (162.5) → Fail
|
|
22
|
+
|
|
23
|
+
- name: Case 3, income exceeds recognizable needs fails.
|
|
24
|
+
period: 2025-01
|
|
25
|
+
input:
|
|
26
|
+
tx_tanf_countable_income: 200
|
|
27
|
+
tx_tanf_budgetary_needs: 650
|
|
28
|
+
state_code: TX
|
|
29
|
+
output:
|
|
30
|
+
tx_tanf_recognizable_needs_test: false
|
|
31
|
+
# Recognizable needs = 650 * 0.25 = 162.5
|
|
32
|
+
# Income (200) > recognizable needs (162.5) → Fail
|
|
33
|
+
|
|
34
|
+
- name: Case 4, zero income always passes.
|
|
35
|
+
period: 2025-01
|
|
36
|
+
input:
|
|
37
|
+
tx_tanf_countable_income: 0
|
|
38
|
+
tx_tanf_budgetary_needs: 650
|
|
39
|
+
state_code: TX
|
|
40
|
+
output:
|
|
41
|
+
tx_tanf_recognizable_needs_test: true
|
|
42
|
+
# Recognizable needs = 650 * 0.25 = 162.5
|
|
43
|
+
# Income (0) < recognizable needs (162.5) → Pass
|
|
44
|
+
|
|
45
|
+
- name: Case 5, larger household with higher needs.
|
|
46
|
+
period: 2025-01
|
|
47
|
+
input:
|
|
48
|
+
tx_tanf_countable_income: 200
|
|
49
|
+
tx_tanf_budgetary_needs: 824
|
|
50
|
+
state_code: TX
|
|
51
|
+
output:
|
|
52
|
+
tx_tanf_recognizable_needs_test: true
|
|
53
|
+
# Recognizable needs = 824 * 0.25 = 206
|
|
54
|
+
# Income (200) < recognizable needs (206) → Pass
|
policyengine_us/tests/policy/baseline/gov/states/tx/tanf/eligibility/tx_tanf_resources_eligible.yaml
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
- name: Case 1, resources well below limit.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
tx_tanf_countable_resources: 500
|
|
5
|
+
state_code: TX
|
|
6
|
+
output:
|
|
7
|
+
tx_tanf_resources_eligible: true
|
|
8
|
+
# Resources (500) <= limit (1,000) → Pass
|
|
9
|
+
|
|
10
|
+
- name: Case 2, resources at limit.
|
|
11
|
+
period: 2025-01
|
|
12
|
+
input:
|
|
13
|
+
tx_tanf_countable_resources: 1_000
|
|
14
|
+
state_code: TX
|
|
15
|
+
output:
|
|
16
|
+
tx_tanf_resources_eligible: true
|
|
17
|
+
# Resources (1,000) <= limit (1,000) → Pass
|
|
18
|
+
|
|
19
|
+
- name: Case 3, resources slightly above limit.
|
|
20
|
+
period: 2025-01
|
|
21
|
+
input:
|
|
22
|
+
tx_tanf_countable_resources: 1_001
|
|
23
|
+
state_code: TX
|
|
24
|
+
output:
|
|
25
|
+
tx_tanf_resources_eligible: false
|
|
26
|
+
# Resources (1,001) > limit (1,000) → Fail
|
|
27
|
+
|
|
28
|
+
- name: Case 4, resources far above limit.
|
|
29
|
+
period: 2025-01
|
|
30
|
+
input:
|
|
31
|
+
tx_tanf_countable_resources: 15_000
|
|
32
|
+
state_code: TX
|
|
33
|
+
output:
|
|
34
|
+
tx_tanf_resources_eligible: false
|
|
35
|
+
# Resources (15,000) > limit (1,000) → Fail
|
|
36
|
+
|
|
37
|
+
- name: Case 5, zero resources.
|
|
38
|
+
period: 2025-01
|
|
39
|
+
input:
|
|
40
|
+
tx_tanf_countable_resources: 0
|
|
41
|
+
state_code: TX
|
|
42
|
+
output:
|
|
43
|
+
tx_tanf_resources_eligible: true
|
|
44
|
+
# Resources (0) <= limit (1,000) → Pass
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
- name: Case 1, no child support received.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
child_support_received: 0
|
|
5
|
+
state_code: TX
|
|
6
|
+
output:
|
|
7
|
+
tx_tanf_child_support_deduction: 0
|
|
8
|
+
# No child support → no deduction
|
|
9
|
+
|
|
10
|
+
- name: Case 2, child support below $75 cap.
|
|
11
|
+
period: 2025-01
|
|
12
|
+
input:
|
|
13
|
+
child_support_received: 600 # $50/month
|
|
14
|
+
state_code: TX
|
|
15
|
+
output:
|
|
16
|
+
tx_tanf_child_support_deduction: 50
|
|
17
|
+
# 600 / 12 = 50, below $75 cap → deduct full $50
|
|
18
|
+
|
|
19
|
+
- name: Case 3, child support exceeds $75 cap.
|
|
20
|
+
period: 2025-01
|
|
21
|
+
input:
|
|
22
|
+
child_support_received: 1_200 # $100/month
|
|
23
|
+
state_code: TX
|
|
24
|
+
output:
|
|
25
|
+
tx_tanf_child_support_deduction: 75
|
|
26
|
+
# 1,200 / 12 = 100, exceeds $75 cap → deduct only $75
|
|
27
|
+
|
|
28
|
+
- name: Case 4, child support exactly at $75 cap.
|
|
29
|
+
period: 2025-01
|
|
30
|
+
input:
|
|
31
|
+
child_support_received: 900 # $75/month
|
|
32
|
+
state_code: TX
|
|
33
|
+
output:
|
|
34
|
+
tx_tanf_child_support_deduction: 75
|
|
35
|
+
# 900 / 12 = 75, equals cap → deduct $75
|
|
36
|
+
|
|
37
|
+
- name: Case 5, multiple people with child support per household cap.
|
|
38
|
+
period: 2025-01
|
|
39
|
+
input:
|
|
40
|
+
people:
|
|
41
|
+
person1:
|
|
42
|
+
child_support_received: 600 # $50/month
|
|
43
|
+
person2:
|
|
44
|
+
child_support_received: 600 # $50/month
|
|
45
|
+
spm_units:
|
|
46
|
+
spm_unit:
|
|
47
|
+
members: [person1, person2]
|
|
48
|
+
households:
|
|
49
|
+
household:
|
|
50
|
+
members: [person1, person2]
|
|
51
|
+
state_code: TX
|
|
52
|
+
output:
|
|
53
|
+
tx_tanf_child_support_deduction: 75
|
|
54
|
+
# Person1: 50 + Person2: 50 = 100 total
|
|
55
|
+
# Per-household cap of $75 → deduct only $75
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
- name: Case 1, actual expenses below maximum.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
age: 1
|
|
7
|
+
person2:
|
|
8
|
+
age: 5
|
|
9
|
+
spm_units:
|
|
10
|
+
spm_unit:
|
|
11
|
+
members: [person1, person2]
|
|
12
|
+
childcare_expenses: 3_000
|
|
13
|
+
households:
|
|
14
|
+
household:
|
|
15
|
+
members: [person1, person2]
|
|
16
|
+
state_code: TX
|
|
17
|
+
output:
|
|
18
|
+
tx_tanf_dependent_care_deduction: 250
|
|
19
|
+
|
|
20
|
+
- name: Case 2, actual expenses exceed maximum.
|
|
21
|
+
period: 2025-01
|
|
22
|
+
input:
|
|
23
|
+
people:
|
|
24
|
+
person1:
|
|
25
|
+
age: 1
|
|
26
|
+
person2:
|
|
27
|
+
age: 5
|
|
28
|
+
spm_units:
|
|
29
|
+
spm_unit:
|
|
30
|
+
members: [person1, person2]
|
|
31
|
+
childcare_expenses: 6_000
|
|
32
|
+
households:
|
|
33
|
+
household:
|
|
34
|
+
members: [person1, person2]
|
|
35
|
+
state_code: TX
|
|
36
|
+
output:
|
|
37
|
+
tx_tanf_dependent_care_deduction: 375
|
|
38
|
+
|
|
39
|
+
- name: Case 3, no childcare expenses.
|
|
40
|
+
period: 2025-01
|
|
41
|
+
input:
|
|
42
|
+
people:
|
|
43
|
+
person1:
|
|
44
|
+
age: 1
|
|
45
|
+
spm_units:
|
|
46
|
+
spm_unit:
|
|
47
|
+
members: [person1]
|
|
48
|
+
childcare_expenses: 0
|
|
49
|
+
households:
|
|
50
|
+
household:
|
|
51
|
+
members: [person1]
|
|
52
|
+
state_code: TX
|
|
53
|
+
output:
|
|
54
|
+
tx_tanf_dependent_care_deduction: 0
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
- name: Case 1, earned income with no dependent care deduction.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
tx_tanf_earned_income_after_disregard_person: 200
|
|
5
|
+
tx_tanf_dependent_care_deduction: 0
|
|
6
|
+
state_code: TX
|
|
7
|
+
output:
|
|
8
|
+
tx_tanf_countable_earned_income: 200
|
|
9
|
+
# 200 - 0 = 200
|
|
10
|
+
|
|
11
|
+
- name: Case 2, earned income with partial dependent care deduction.
|
|
12
|
+
period: 2025-01
|
|
13
|
+
input:
|
|
14
|
+
tx_tanf_earned_income_after_disregard_person: 200
|
|
15
|
+
tx_tanf_dependent_care_deduction: 150
|
|
16
|
+
state_code: TX
|
|
17
|
+
output:
|
|
18
|
+
tx_tanf_countable_earned_income: 50
|
|
19
|
+
# 200 - 150 = 50
|
|
20
|
+
|
|
21
|
+
- name: Case 3, dependent care deduction exceeds earned income.
|
|
22
|
+
period: 2025-01
|
|
23
|
+
input:
|
|
24
|
+
tx_tanf_earned_income_after_disregard_person: 100
|
|
25
|
+
tx_tanf_dependent_care_deduction: 200
|
|
26
|
+
state_code: TX
|
|
27
|
+
output:
|
|
28
|
+
tx_tanf_countable_earned_income: 0
|
|
29
|
+
# max(100 - 200, 0) = 0
|
|
30
|
+
|
|
31
|
+
- name: Case 4, no earned income.
|
|
32
|
+
period: 2025-01
|
|
33
|
+
input:
|
|
34
|
+
tx_tanf_earned_income_after_disregard_person: 0
|
|
35
|
+
tx_tanf_dependent_care_deduction: 0
|
|
36
|
+
state_code: TX
|
|
37
|
+
output:
|
|
38
|
+
tx_tanf_countable_earned_income: 0
|
|
39
|
+
# 0 - 0 = 0
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
- name: Case 1, new applicant with low earnings gets 1/3 disregard.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
absolute_error_margin: 0.01
|
|
4
|
+
input:
|
|
5
|
+
tx_tanf_gross_earned_income: 600
|
|
6
|
+
is_tanf_enrolled: false
|
|
7
|
+
state_code: TX
|
|
8
|
+
output:
|
|
9
|
+
tx_tanf_earned_income_after_disregard_person: 321.60
|
|
10
|
+
|
|
11
|
+
- name: Case 2, continuing recipient gets 90% disregard.
|
|
12
|
+
period: 2025-01
|
|
13
|
+
input:
|
|
14
|
+
tx_tanf_gross_earned_income: 600
|
|
15
|
+
is_tanf_enrolled: true
|
|
16
|
+
state_code: TX
|
|
17
|
+
output:
|
|
18
|
+
tx_tanf_earned_income_after_disregard_person: 48
|
|
19
|
+
|
|
20
|
+
- name: Case 3, continuing recipient hits $1,400 disregard cap.
|
|
21
|
+
period: 2025-01
|
|
22
|
+
input:
|
|
23
|
+
tx_tanf_gross_earned_income: 2_000
|
|
24
|
+
is_tanf_enrolled: true
|
|
25
|
+
state_code: TX
|
|
26
|
+
output:
|
|
27
|
+
tx_tanf_earned_income_after_disregard_person: 480
|
|
28
|
+
|
|
29
|
+
- name: Case 4, zero earnings.
|
|
30
|
+
period: 2025-01
|
|
31
|
+
input:
|
|
32
|
+
tx_tanf_gross_earned_income: 0
|
|
33
|
+
is_tanf_enrolled: false
|
|
34
|
+
state_code: TX
|
|
35
|
+
output:
|
|
36
|
+
tx_tanf_earned_income_after_disregard_person: 0
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
- name: Case 1, only earned income after work expense.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
tx_tanf_gross_earned_income: 400
|
|
7
|
+
spm_units:
|
|
8
|
+
spm_unit:
|
|
9
|
+
members: [person1]
|
|
10
|
+
tx_tanf_dependent_care_deduction: 0
|
|
11
|
+
tx_tanf_countable_unearned_income: 0
|
|
12
|
+
households:
|
|
13
|
+
household:
|
|
14
|
+
members: [person1]
|
|
15
|
+
state_code: TX
|
|
16
|
+
output:
|
|
17
|
+
tx_tanf_income_for_budgetary_needs_test: 280
|
|
18
|
+
# Earned: 400 - 120 work expense = 280
|
|
19
|
+
# No dependent care deduction, no unearned income
|
|
20
|
+
# Total: 280
|
|
21
|
+
|
|
22
|
+
- name: Case 2, earned income with dependent care deduction.
|
|
23
|
+
period: 2025-01
|
|
24
|
+
input:
|
|
25
|
+
people:
|
|
26
|
+
person1:
|
|
27
|
+
tx_tanf_gross_earned_income: 400
|
|
28
|
+
spm_units:
|
|
29
|
+
spm_unit:
|
|
30
|
+
members: [person1]
|
|
31
|
+
tx_tanf_dependent_care_deduction: 150
|
|
32
|
+
tx_tanf_countable_unearned_income: 0
|
|
33
|
+
households:
|
|
34
|
+
household:
|
|
35
|
+
members: [person1]
|
|
36
|
+
state_code: TX
|
|
37
|
+
output:
|
|
38
|
+
tx_tanf_income_for_budgetary_needs_test: 130
|
|
39
|
+
# Earned: 400 - 120 work expense = 280
|
|
40
|
+
# After dependent care: 280 - 150 = 130
|
|
41
|
+
# Total: 130
|
|
42
|
+
|
|
43
|
+
- name: Case 3, earned and unearned income.
|
|
44
|
+
period: 2025-01
|
|
45
|
+
input:
|
|
46
|
+
people:
|
|
47
|
+
person1:
|
|
48
|
+
tx_tanf_gross_earned_income: 400
|
|
49
|
+
spm_units:
|
|
50
|
+
spm_unit:
|
|
51
|
+
members: [person1]
|
|
52
|
+
tx_tanf_dependent_care_deduction: 100
|
|
53
|
+
tx_tanf_countable_unearned_income: 200
|
|
54
|
+
households:
|
|
55
|
+
household:
|
|
56
|
+
members: [person1]
|
|
57
|
+
state_code: TX
|
|
58
|
+
output:
|
|
59
|
+
tx_tanf_income_for_budgetary_needs_test: 380
|
|
60
|
+
# Earned: 400 - 120 work expense = 280
|
|
61
|
+
# After dependent care: 280 - 100 = 180
|
|
62
|
+
# Plus unearned: 180 + 200 = 380
|
|
63
|
+
|
|
64
|
+
- name: Case 4, dependent care exceeds earned income.
|
|
65
|
+
period: 2025-01
|
|
66
|
+
input:
|
|
67
|
+
people:
|
|
68
|
+
person1:
|
|
69
|
+
tx_tanf_gross_earned_income: 200
|
|
70
|
+
spm_units:
|
|
71
|
+
spm_unit:
|
|
72
|
+
members: [person1]
|
|
73
|
+
tx_tanf_dependent_care_deduction: 300
|
|
74
|
+
tx_tanf_countable_unearned_income: 100
|
|
75
|
+
households:
|
|
76
|
+
household:
|
|
77
|
+
members: [person1]
|
|
78
|
+
state_code: TX
|
|
79
|
+
output:
|
|
80
|
+
tx_tanf_income_for_budgetary_needs_test: 100
|
|
81
|
+
# Earned: 200 - 120 work expense = 80
|
|
82
|
+
# After dependent care: max(80 - 300, 0) = 0
|
|
83
|
+
# Plus unearned: 0 + 100 = 100
|
|
84
|
+
|
|
85
|
+
- name: Case 5, no income.
|
|
86
|
+
period: 2025-01
|
|
87
|
+
input:
|
|
88
|
+
people:
|
|
89
|
+
person1:
|
|
90
|
+
tx_tanf_gross_earned_income: 0
|
|
91
|
+
spm_units:
|
|
92
|
+
spm_unit:
|
|
93
|
+
members: [person1]
|
|
94
|
+
tx_tanf_dependent_care_deduction: 0
|
|
95
|
+
tx_tanf_countable_unearned_income: 0
|
|
96
|
+
households:
|
|
97
|
+
household:
|
|
98
|
+
members: [person1]
|
|
99
|
+
state_code: TX
|
|
100
|
+
output:
|
|
101
|
+
tx_tanf_income_for_budgetary_needs_test: 0
|
|
102
|
+
# No earned or unearned income → 0
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
- name: Case 1, unearned income with no child support deduction.
|
|
2
|
+
period: 2025-01
|
|
3
|
+
input:
|
|
4
|
+
tx_tanf_gross_unearned_income: 300
|
|
5
|
+
tx_tanf_child_support_deduction: 0
|
|
6
|
+
state_code: TX
|
|
7
|
+
output:
|
|
8
|
+
tx_tanf_countable_unearned_income: 300
|
|
9
|
+
# 300 - 0 = 300
|
|
10
|
+
|
|
11
|
+
- name: Case 2, unearned income with partial child support deduction.
|
|
12
|
+
period: 2025-01
|
|
13
|
+
input:
|
|
14
|
+
tx_tanf_gross_unearned_income: 300
|
|
15
|
+
tx_tanf_child_support_deduction: 50
|
|
16
|
+
state_code: TX
|
|
17
|
+
output:
|
|
18
|
+
tx_tanf_countable_unearned_income: 250
|
|
19
|
+
# 300 - 50 = 250
|
|
20
|
+
|
|
21
|
+
- name: Case 3, unearned income with $75 child support deduction.
|
|
22
|
+
period: 2025-01
|
|
23
|
+
input:
|
|
24
|
+
tx_tanf_gross_unearned_income: 300
|
|
25
|
+
tx_tanf_child_support_deduction: 75
|
|
26
|
+
state_code: TX
|
|
27
|
+
output:
|
|
28
|
+
tx_tanf_countable_unearned_income: 225
|
|
29
|
+
# 300 - 75 = 225
|
|
30
|
+
|
|
31
|
+
- name: Case 4, child support deduction exceeds unearned income.
|
|
32
|
+
period: 2025-01
|
|
33
|
+
input:
|
|
34
|
+
tx_tanf_gross_unearned_income: 50
|
|
35
|
+
tx_tanf_child_support_deduction: 75
|
|
36
|
+
state_code: TX
|
|
37
|
+
output:
|
|
38
|
+
tx_tanf_countable_unearned_income: 0
|
|
39
|
+
# max(50 - 75, 0) = 0
|
|
40
|
+
|
|
41
|
+
- name: Case 5, no unearned income.
|
|
42
|
+
period: 2025-01
|
|
43
|
+
input:
|
|
44
|
+
tx_tanf_gross_unearned_income: 0
|
|
45
|
+
tx_tanf_child_support_deduction: 0
|
|
46
|
+
state_code: TX
|
|
47
|
+
output:
|
|
48
|
+
tx_tanf_countable_unearned_income: 0
|
|
49
|
+
# 0 - 0 = 0
|