Skip to content

Add property tests and full-person fixtures for the Housing Benefit family premium #2660

Closed

Description

@MaxGhenis

Follow-up to #2223 (protected Housing Benefit family premium), from its delta review. None of this blocks #2223, and none of it changes a formula.

The family premium's YAML cases cover each branch, but they don't state the applicable amount's invariants for every input. Three gaps:

  1. Property tests in a new policyengine_uk/tests/test_housing_benefit_family_premium_properties.py (Hypothesis):
    • Additivity: housing_benefit_applicable_amount(category) − housing_benefit_applicable_amount(NONE) == housing_benefit_family_premium(category), and the applicable amount equals the sum of its five terms (personal allowance, benefits_premiums, family premium, child disability premiums, main-phase ESA adjustment). Draw disabled-child (DLA/PIP) and main-phase ESA inputs so all five terms are nonzero together.
    • One premium per family: with 1–4 included children, the premium is the same as with one.
    • No included child, no premium: a benefit unit with no is_child_or_young_person_for_legacy_benefits member gets 0.
    • Closure: from the closure year (GB 2016-05-01, NI 2016-09-05, both model year 2016), category NONE gives 0. Before it, an included child gives the ordinary amount whatever the category, apart from the historical lone-parent rate. Cover GB and NI across 2015–2030.
    • Historical lone-parent rate: it applies only with HISTORICAL_LONE_PARENT_PROTECTED, a current lone parent and the working-age schedule. Cover the full category × lone parent × regime grid.
    • Range: the value is one of {0, 52 × amount, 52 × lone_parent_protected_amount}.
    • NI branch: a reform that moves the NI closure date to 2017-09-05, so the GB and NI branches can differ.
  2. A full-person pension-age fixture with no eldest_claimant_or_partner_age or housing_benefit_attained_pension_age_before_cutoff override: a claimant aged 75 and a child aged 15, ORDINARY_PROTECTED, 2026, in GB and NI, with both person orders. The cohort then comes from the claimant's own State Pension age date, next to the premium. Test Housing Benefit child premiums with a real pension-age claimant #2656 adds the same kind of case for the child disability premiums.
  3. A YAML case combining all three child-related terms: the protected family premium, a disabled-child premium and a main-phase ESA adjustment, so the applicable amount has five nonzero terms in one case.

Expected amounts must come from the law and the published rates, not from model output. The family premium's 2026-27 rate is £20.22 a week (SI 2006/214 Sch 3 para 3(1); DWP Benefit and pension rates 2026 to 2027).

Activity

  1. self-assigned this
    on Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions