Skip to main content

expectation_model/
lib.rs

1//! Expectation's core model: the vocabulary a suite is written in, the conditions
2//! built from it, and the expectations and stories that use them.
3//!
4//! An *expectation* says how the system behaves: given some state, when something happens,
5//! then the system ends up in some state. A *story* is a user's journey through those
6//! behaviours, which becomes an acceptance test. Everything here is plain data plus the
7//! condition algebra (intersection, implication, overlay) that conflict detection, the flow
8//! graph and story planning are built on.
9
10pub mod condition;
11pub mod diagnostic;
12pub mod spec;
13pub mod text;
14pub mod vocabulary;
15
16pub use condition::{Condition, Constraint, Interval};
17pub use diagnostic::{Diagnostic, Label, Severity, Sources, Span};
18pub use spec::{
19    ExpId, Expectation, Fact, Feature, FeatureId, Keyword, Phrase, PhraseBody, PhraseId, Said, Scenario, Section,
20    SectionId, Shift, StepText, Story, StoryId, StoryStep, Suite, Term, Trigger,
21};
22pub use vocabulary::{Event, EventId, Value, VarId, VarKind, Variable, Vocabulary};