LibraryDriver class abstract

Per-solution driver of the bench contract. Consumers implement this in a driver file (e.g. bench/drivers/my_driver.dart) and the generated scenario bridges pass an instance to runContractScenario.

Constructors

LibraryDriver()

Properties

hashCode int
The hash code for this object.
no setterinherited
name String
Solution name — the column label of reports/tables.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollCoupled bool
Whether content follows element B under scroll (S4). Solutions without an anchor (toasts/popovers) return false → the scenario reports unsupported, it is not a failure and not a removal.
no setter

Methods

buildScene({required bool withLibrary, required SceneSpec spec}) Widget
Builds the neutral contract scene: MaterialApp (Material 3) with an AppBar(title: 'Contract scene'), a ListView of 12 rows (row 5 = element B, the anchor), a 1200 px scroll margin after the rows, and a fixed FloatingActionButton (element A). Keys and geometry are the package's constants (scene.dart); spec.listScroll must drive the ListView and element A must increment SceneSpec.aTaps.
currentContent(int state) Finder
The visible ContractCard(state) — the scenario asserts presence, absence and screen geometry through this finder.
hide() Future<void>
Removes the content: after hide() the card must leave the tree.
isStable() bool
Predicate "my work on the current step is finished" — NOT an action. The scenario owns pumping: it pumps a frame and polls this predicate until the timeout. Returning true means there is nothing more to pump (entrance/exit animation finished, state stable).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
show(int state) Future<void>
Mounts the content card ContractCard(state) by the solution's own mechanism (tooltip / toast / dialog / overlay). Contract: when this future completes, the content is on its way; the scenario decides when it is stable by pumping frames and polling isStable.
toString() String
A string representation of this object.
inherited
update(int state) Future<void>
Switches the visible content to state without hiding first (S3).

Operators

operator ==(Object other) bool
The equality operator.
inherited