Debugging your FSM
Static Analysis
statemachine.analysis();import 'package:fsm2/fsm2.dart';
import 'package:test/test.dart';
void main() {
test('export', () async {
final machine = _createMachine();
expect(await machine.analyse(), equals(true));
});
}
StateMachine _createMachine() {
return StateMachine.create((g) => g
..initialState<Heating>()
..state<DoorOpen>((b) {})
..state<Heating>((b) => b
..on<OpenDoor, DoorOpen>()
..state<Toasting>((b) {})
..state<Baking>((b) {})));
}
class DoorOpen extends State {}
class Toasting extends State {}
class Baking extends State {}
class Heating extends State {}
class LightOn extends State {}
class OpenDoor extends Event {}
class OnTurnOff extends Event {}Visualise your FSM
Simplify your FSM
Log Transitions
Unit Testing
Last updated
Was this helpful?