test: portable few-ULP check for recomputed shear eps metadata
Cross-platform replay of the frozen assessor returned INVALID_SET because recomputed eps(128) differed from the Horsea receipt by one ULP. Compare only that derived float within 4 ULPs (close_ulps); hashes, case identity, other metadata and scientific thresholds stay exact. Tests accept the observed one/two-ULP differences and reject 1e-12 relative, 2x, string, NaN and missing values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5fb95f5f4d
commit
9748ef91ef
3 files changed
+35
-1
No files matched your search
@@ -427,6 +427,19 @@ class ContractTests(unittest.TestCase):
|
||||
self.assertTrue(result["contract_valid"], [k for k, v in result["checks"].items() if not v])
|
||||
self.assertEqual(result["status"], "PASS")
|
||||
|
||||
def test_eps_metadata_is_portable_but_bounded(self):
|
||||
import assess_shear_wave
|
||||
self.assertTrue(assess_shear_wave.close_ulps(0.012047856934923534, 0.012047856934923532))
|
||||
exact = sw.eps(128)
|
||||
for value, ok in ((math.nextafter(exact, 1.0), True),
|
||||
(math.nextafter(math.nextafter(exact, 0.0), 0.0), True),
|
||||
(exact * (1 + 1e-12), False), (exact * 2, False),
|
||||
(str(exact), False), (float("nan"), False), (None, False)):
|
||||
records = [dict(r) for r in self.records]
|
||||
records[2]["eps"] = value
|
||||
status = self.assess(records, "r")["status"]
|
||||
self.assertEqual(status == "PASS", ok, (value, status))
|
||||
|
||||
def test_reproduced_false_passes_are_rejected(self):
|
||||
a = self.assess
|
||||
self.assertEqual(a(self.records[:2], "r")["status"], "INVALID_SET") # empty refined
|
||||
|
||||
Reference in new issue
Block a user