Finite state machines in rust; bendns fork to add types.
Diffstat (limited to 'tests/simple.rs')
| -rw-r--r-- | tests/simple.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/simple.rs b/tests/simple.rs new file mode 100644 index 0000000..b3fa09c --- /dev/null +++ b/tests/simple.rs @@ -0,0 +1,22 @@ +use rust_fsm::*; + +state_machine! { + derive(Debug) + Door(Open) + + Open(Key) => Closed, + Closed(Key) => Open, + Open(Break) => Broken, + Closed(Break) => Broken, +} + +#[test] +fn simple() { + let mut machine: StateMachine<Door> = StateMachine::new(); + machine.consume(&DoorInput::Key).unwrap(); + println!("{:?}", machine.state()); + machine.consume(&DoorInput::Key).unwrap(); + println!("{:?}", machine.state()); + machine.consume(&DoorInput::Break).unwrap(); + println!("{:?}", machine.state()); +} |