Background
Apps using Sub.Every (DigitalClock, SineWaveApp, RenderStressApp) can't be snapshot-tested today — time advances on a real scheduler. Current tests skip them.
Goal
A test harness that drives time virtually — advance by N ticks and observe frames, without real-time delays.
Scope
- Abstract the scheduler behind a
Clock interface.
ManualClock implementation that advances only on explicit calls.
TuiTestDriver accepts a clock + exposes advanceTime(duration).
- Retroactively cover
DigitalClock and SineWaveApp with snapshot tests.
- Document in
RENDER_PIPELINE.md or a new test-harness doc.
Acceptance
Part of Cross-cutting — Semantic model & test debt.
Background
Apps using
Sub.Every(DigitalClock,SineWaveApp,RenderStressApp) can't be snapshot-tested today — time advances on a real scheduler. Current tests skip them.Goal
A test harness that drives time virtually — advance by N ticks and observe frames, without real-time delays.
Scope
Clockinterface.ManualClockimplementation that advances only on explicit calls.TuiTestDriveraccepts a clock + exposesadvanceTime(duration).DigitalClockandSineWaveAppwith snapshot tests.RENDER_PIPELINE.mdor a new test-harness doc.Acceptance
ManualClockexists and is used by test driver.DigitalClockhas at least one snapshot test asserting time-advance behaviour.Part of Cross-cutting — Semantic model & test debt.