Download tests/test_generation.py from will-taggart/AFFECTOR-ARC: direct link, hf CLI and curl.
- Browser
- Download file 1.92 kB
-
https://huggingface.co/will-taggart/AFFECTOR-ARC/resolve/main/tests/test_generation.py
- Command line
-
hf download hf://will-taggart/AFFECTOR-ARC/tests/test_generation.py
-
curl -L -o test_generation.py https://huggingface.co/will-taggart/AFFECTOR-ARC/resolve/main/tests/test_generation.py
1.92 kB
| import sys,unittest,threading | |
| from pathlib import Path | |
| sys.path.insert(0,str(Path(__file__).resolve().parents[1]/'engine')) | |
| import generation,geometry | |
| class Generation(unittest.TestCase): | |
| def test_preserves_controls_and_complete_prefix(self): | |
| g=geometry.new();seen=[] | |
| def gen(adjusted,attempt): | |
| seen.append(adjusted['controls'].copy()) | |
| return {'text':'The machine feared the void. '+('The cold blood '*12)} | |
| r=generation.rewrite('The machine predicts sensory information.',gen,g,True,threading.Event(),lambda s:None) | |
| self.assertEqual(seen,[g['controls']]);self.assertEqual(r['text'],'The machine feared the void.') | |
| self.assertEqual(len(r['attempts']),1);self.assertIn('cold blood',r['attempts'][0]['text']) | |
| def test_shared_allowance_is_used(self): | |
| r=generation.rewrite('Short.',lambda *a:{'text':'A much longer complete sentence.'},geometry.new(),True,threading.Event(),lambda s:None,max_chars=100) | |
| self.assertEqual(r['text'],'A much longer complete sentence.');self.assertNotIn('original_retained',r) | |
| def test_no_complete_sentence_is_flagged(self): | |
| r=generation.rewrite('Original.',lambda *a:{'text':'cut off'},geometry.new(),True,threading.Event(),lambda s:None) | |
| self.assertTrue(r['original_retained']);self.assertEqual(len(r['attempts']),1) | |
| def test_repetition_detection(self): | |
| self.assertTrue(generation.repetition('cold blood of the machine '*8)) | |
| self.assertFalse(generation.repetition('The machine watches the rain. It hopes for quiet.')) | |
| def test_concise_paragraph_allowance(self): | |
| import documents | |
| text='A'*600+' '+'B'*150 | |
| spans=[(0,600),(601,751)] | |
| first=documents.rewrite_allowance(text,spans,{},0,multiplier=1.25) | |
| self.assertEqual(first,750) | |
| records={'0':{'text':'X'*650}} | |
| last=documents.rewrite_allowance(text,spans,records,1,multiplier=1.25) | |
| records['1']={'text':'Y'*last} | |
| self.assertLessEqual(len(documents.assemble(text,spans,records)),int(1.25*len(text))) | |