@@ -60,6 +60,7 @@ def test_reported_amounts_recompute_disability_flags():
6060 dwp = CountryTaxBenefitSystem ().parameters (year ).gov .dwp
6161 person = pd .DataFrame (
6262 {
63+ "attendance_allowance_reported" : [0.0 , 0.0 , 0.0 ],
6364 "dla_sc_reported" : [
6465 0.0 ,
6566 dwp .dla .self_care .higher * (365.25 / 7 ),
@@ -85,7 +86,7 @@ def test_reported_amounts_recompute_disability_flags():
8586 assert result ["is_enhanced_disabled_for_benefits" ].tolist () == [
8687 False ,
8788 True ,
88- False ,
89+ True ,
8990 ]
9091 assert result ["is_severely_disabled_for_benefits" ].tolist () == [
9192 False ,
@@ -94,6 +95,45 @@ def test_reported_amounts_recompute_disability_flags():
9495 ]
9596
9697
98+ def test_reported_amounts_widen_base_disability_flag ():
99+ year = 2025
100+ person = pd .DataFrame (
101+ {
102+ "attendance_allowance_reported" : [1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ],
103+ "sda_reported" : [0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ],
104+ "incapacity_benefit_reported" : [0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 , 0.0 ],
105+ "iidb_reported" : [0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 , 0.0 ],
106+ "afcs_reported" : [0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 , 0.0 ],
107+ "esa_contrib_reported" : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0.0 ],
108+ "esa_income_reported" : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 ],
109+ }
110+ )
111+
112+ result = add_disability_benefit_flags_from_reported_amounts (person , year )
113+
114+ assert result ["is_disabled_for_benefits" ].all ()
115+
116+
117+ def test_attendance_allowance_feeds_stronger_disability_flags ():
118+ year = 2025
119+ dwp = CountryTaxBenefitSystem ().parameters (year ).gov .dwp
120+ weeks = 365.25 / 7
121+ person = pd .DataFrame (
122+ {
123+ "attendance_allowance_reported" : [
124+ dwp .attendance_allowance .lower * weeks ,
125+ dwp .attendance_allowance .higher * weeks ,
126+ ],
127+ }
128+ )
129+
130+ result = add_disability_benefit_flags_from_reported_amounts (person , year )
131+
132+ assert result ["is_disabled_for_benefits" ].tolist () == [True , True ]
133+ assert result ["is_enhanced_disabled_for_benefits" ].tolist () == [False , True ]
134+ assert result ["is_severely_disabled_for_benefits" ].tolist () == [True , True ]
135+
136+
97137def test_drop_internal_disability_reported_amounts_keeps_categories ():
98138 person = pd .DataFrame (
99139 {
0 commit comments