Regression harness¶
End-to-end tests comparing jitr against committed reference outputs from
Frescox (F1–F10) and TALYS (T1–T4). See the
regression-tests documentation for a case
overview.
Layout¶
manifest.json— committed case inventory (all active cases)_readers.py— manifest and reference-data loader_builders.py— API-specific workspace/input assemblyconftest.py— parametrizes pytest overmanifest.jsontest_regression.py— Frescox case assertionstest_talys_reference.py— TALYS parser smoke testsfrescox/— Frescox inputs, reference CSVs/JSON, and parsertalys/— TALYS inputs, reference CSVs/JSON, and parser
Design notes¶
Only committed CSV/JSON references are read in pytest; neither Frescox nor TALYS is required in CI.
Frescox cases use integer-AMU masses (
m = A × AMU) and classical kinematics, matching the upstream deck convention exactly.Neutral elastic cases omit the Coulomb matrix in the builder; neutron metadata stays physically literal.
The
(p,n)cases (F9, F10) useobservable_type: "quasielastic_pn"and buildjitr.xs.quasielastic_pn.Workspace. Both channels take their lab energy straight from the deck, so jitR and Frescox see identical kinematics rather than jitR’s Q-value tables.U1_centralis left to jitR’s default isovector difference, which is what the deck’s tabulated form factor holds;U1_spin_orbitis zero because a FrescoxKIND=1form factor is central only.