Lesson 104: Property-based assertions (Hypothesis)
Focus
This page is deliberate repetition with new literals: Advanced drills Property-based assertions (Hypothesis); spin token 872842 makes this page unlike its neighbours.
Key ideas
- Angle
Advanced: micro cadence4mixesProperty-based assertions (Hypothesis); spin29712. - Ritual: Predict the checksum line, then reconcile on mismatch.
- Guardrail: pick the budget that keeps this rehearsal honest.
Example (LESSON_UID = "advanced-104")
# Advanced drill L104 topic-10 micro-3 pattern-7
LESSON_UID = "advanced-104"
spin_a, spin_b, spin_c = 645, 674, 469
src = [((k + 104) * spin_a + 3) % 241 for k in range(4 + 3 % 3)]
derived = [v * v if v % 2 == 0 else v + spin_b for v in src]
print("src", src)
print("derived", derived)
print("zip_sum", sum(x + y for x, y in zip(src, derived)))
from pathlib import Path
import tempfile
with tempfile.TemporaryDirectory() as scratch:
target = Path(scratch) / "scratch-104.txt"
snap = [117, 769, 430, 91, 743, 404]
target.write_text("\n".join(str(x) for x in snap), encoding="utf-8")
print("scratch_bytes", target.stat().st_size, "rolling", sum(snap) % (469 + 131))
import asyncio
async def finalize(seed, spin):
await asyncio.sleep(0)
blend = (seed * 131 + 10 * (10 % 997) + 3 * (3 % 853) + spin) % 900001
return blend
async def harness(loop_seed):
print("async_result", await finalize(loop_seed, 7321))
asyncio.run(harness(37222))
Practice
Practice 36: Shadow one variable purposely to spotlight scope quirks. Literal nudge 36.
Fingerprints
- lesson_uid:
advanced-104 - umbrella band:
Property-based assertions (Hypothesis)(4/10) - lesson_index:
3318