test_holdout_amendment.py
python · 13 lines · Exact bytes
Version & provenance · data-cm7
Recorded SHA-256 2868b7b5bf532bcdf0425f7e30fb726015e38c47c233eb1a33def40508bd2e75Rendered SHA-256 2868b7b5bf532bcdf0425f7e30fb726015e38c47c233eb1a33def40508bd2e75
Apache-2.0 original project code; dependencies retain their own licenses. License notes. Line links are stable within this snapshot. CM-7 completed implementation source; original and public rendered hashes recorded. Host-specific paths use /work placeholders; inspect reproduction instructions before running. Separate Rust helper retains its GPL license.
1import unittest
2from holdout_amendment import stratified_indices
3class Tests(unittest.TestCase):
4 def test_strata_deterministic(self):
5 a=[dict(material_family='KPvK' if i<60 else 'KRvK',outcome=i%2,position_key=f'{i:064x}') for i in range(100)]
6 x,q=stratified_indices(a,10);self.assertEqual(x,stratified_indices(a,10)[0]);self.assertEqual(len(set(x)),10);self.assertEqual(sum(i<60 for i in x),6);self.assertEqual(sum(a[i]['outcome']==1 for i in x),5)
7 def test_no_model_signal(self):
8 a=[dict(material_family='KPvK',outcome=1,position_key=f'{i:064x}') for i in range(30)]
9 x,_=stratified_indices(a,3)
10 for m in a:m['model_score']=999
11 self.assertEqual(x,stratified_indices(a,3)[0])
12if __name__=='__main__':unittest.main()
13