ScenarioComparison class
One scenario's two runs, compared.
Constructors
-
ScenarioComparison({required String scenario, required List<
ComparedItem> items, required List<BranchDelta> branches, required ComparedState state, Map<String, ({FrameRef? base, FrameRef? head})> frames = const {}, String? package, List<String> baseErrors = const [], List<String> headErrors = const [], int? baseMs, int? headMs}) -
const
-
ScenarioComparison.notCompared({required String scenario, required String inconclusive, String? package, List<
String> baseErrors = const [], List<String> headErrors = const [], int? baseMs, int? headMs}) -
A scenario that was replayed and did not produce a result on one side
or both — see
inconclusive.const - ScenarioComparison.notRun({required String scenario, required ComparedState state, String? package})
-
A scenario that was never replayed — one that exists on a single side,
or one the skip rule answered without running anything.
const
Properties
-
baseErrors
→ List<
String> -
What the base side failed on, one message each, first line only — empty
when it did not fail.
final
- baseMs → int?
-
How long the base side's replay took, in milliseconds — null for a side
read from the cache, which this run did not replay.
final
-
branches
→ List<
BranchDelta> -
Branches that exist on one side only — one row each, however many steps
they hold.
final
- compared → bool
-
Whether both sides produced a result and were compared. False for a
scenario that was replayed and was inconclusive.
no setter
-
frames
→ Map<
String, ({FrameRef? base, FrameRef? head})> -
Each step's two frames, by the id its ComparedItem carries.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
headErrors
→ List<
String> -
What the head side failed on — see baseErrors.
final
- headMs → int?
-
How long the head side's replay took — see baseMs.
final
- inconclusive → String?
-
Why this scenario was not compared, when it was replayed and one side
did not produce a result: the harness gave up on it, or its outcome did
not reproduce when it was replayed again. One sentence naming the side,
what happened and what to do about it.
final
-
items
→ List<
ComparedItem> -
One per step: matched pairs with their channels, plus the steps that
exist on one side only.
final
- package → String?
-
Which package declared it, worktree-relative — the twin of
ComparedItem.package, and recorded for the same reason. Its steps
carry none: they take theirs from here.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scenario → String
-
<file>#<name>.final - state → ComparedState
-
The scenario's own verdict, worst of what its steps said.
final
Methods
-
inPackage(
String package, {required bool qualify}) → ScenarioComparison -
The same scenario, addressed inside
package— the twin of ComparedItem.inPackage, and the same rule. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, Object?> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited