SdpGuards
Every argument domain, and the records the solver refuses to answer
7/7 passed in 295ms
| Test | What it does | Result |
|---|---|---|
test_certified_finite | sdp_finite refuses naming its three missing pieces and checks its rounds slot first, while the analytic chain beside it runs. | ✅ pass |
test_gains_domain | sdp_gains and sdp_honest refuse an unphysical intensity, splitter, transmittance or dark rate. | ✅ pass |
test_interval_shape | sdp_interval refuses a mis-shaped record, a decoy lower bound above its upper bound, as records from two blocks arrive, and a bit sequence clicking more than once. | ✅ pass |
test_kato_domain | sdp_kato refuses a block of no rounds, a failure probability outside (0, 1), and more clicks than there were rounds to click in. | ✅ pass |
test_lmi_start | sdp_lmi refuses a start outside the feasible region, where its barrier is undefined, and a block short of its matrices. | ✅ pass |
test_record_shape | Three monitoring records are refused: not four gains per detector, two detectors together clicking more than once, which no sub-POVM does, and a zero gain, which leaves the constraint set no interior. | ✅ pass |
test_solver_refuses | A record the interior-point path cannot resolve raises rather than returning the loose bound it stopped at. | ✅ pass |