Skip to main content

Crate expectation_graph

Crate expectation_graph 

Source
Expand description

Analysis of a suite as a graph of expectations:

  • precedence: the override DAG (exceptions and what they override),
  • conflict: pairs of expectations that can’t both hold, settled or not,
  • flow: the DAG of what leads to what, from the Background,
  • semantics: stepping a state through an action, shared with story planning.

Re-exports§

pub use conflict::Conflict;
pub use conflict::Kind as ConflictKind;
pub use flow::Flow;
pub use flow::Limits;
pub use flow::Node;
pub use flow::Route;
pub use precedence::Precedence;

Modules§

conflict
Conflicts: two expectations that can both apply but promise things that can’t both be true.
export
The flow DAG, overrides and unsettled conflicts as a Mermaid flowchart (rendered by GitHub in Markdown) or Graphviz DOT.
flow
The flow DAG: how far each expectation is from the start, and what leads to it.
precedence
Exceptions. Overrides: X says “where we both apply, I win”. Overrides must form a DAG: a cycle would have two expectations each winning over the other.
semantics
What happens when the system is in some state and something happens to it. States here are Conditions, sets of concrete states, so one step answers for all of them at once. Story planning and the flow graph both step through a suite with perform.

Structs§

Analysis

Functions§

analyze
analyze_with
roots
The states searches start from: the start of each section with features or stories in it, and each scenario’s arranged start. (A section that only groups others has nothing that starts from it; searching from an empty root would mean searching every state there is.)
section_routes
For each section, how its setup is reached from its parent’s start: the chain of expectations that gets there. None for the root, for a section that adds no setup, and for one nothing leads into.