Skip to main content

Module story

Module story 

Source
Expand description

What judges a task of a story — decided by code from the story’s oracle, never by a test author’s choice. A story’s acceptance is written once, through the product, before its first code task (the oracle); every task of the story is then judged by the progress it makes on it: the scenarios it turns green. A task naming scenarios must leave them green; the story’s checkpoint (its last open code task) must leave every one green. A tick claims exactly what it turned, so no scenario is claimed twice and none is left unproven when the story closes.

Structs§

OracleMark
Where a story’s oracle was written, and who froze it.
ScenarioMark
One scenario of a story.
StoryScenarios
A story’s scenarios as its oracle and ticks show them.
StoryTask
One task of the story, in document order.

Enums§

Judged
What judges one open task of a story.
Progress
What an attempt did to its story, by the oracle’s states before and after it.
ScenarioState
A scenario’s state on a tree: green when every oracle test citing it passes, red when one fails, untested when no kept test cites it.

Functions§

checkpoint
The story’s checkpoint: its last open task that is judged by the oracle. Whatever order the tasks run in, the one that closes the story judges all of it; none once every such task is done.
first
The story’s first open code task: where its oracle is written.
judged
What judges task of the story tasks, whose scenarios are scenarios. None: the story has no scenario, or the task is judged by its checks alone. Links naming no scenario of the story are ignored (the plan reports them); the checkpoint comes first.
progress
What an attempt did, from the oracle’s states before and after it (keyed by scenario id, iterated in the story’s order by the caller’s order), the task’s links, and whether it is the story’s checkpoint. A regression fails first; then the checkpoint’s whole story — except the scenarios its author declared untestable, shown, never blocking — then the task’s links.