From c6d88052be0531a8ba2700dae6f509f1c821e013 Mon Sep 17 00:00:00 2001 From: Mihai Galos Date: Tue, 8 Mar 2022 17:34:03 +0100 Subject: [PATCH] Tests: Split to default_setup --- vlib/statemachine/statemachine.v | 6 +++--- vlib/statemachine/statemachine_test.v | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/vlib/statemachine/statemachine.v b/vlib/statemachine/statemachine.v index d9892574dc..0fd96aa473 100644 --- a/vlib/statemachine/statemachine.v +++ b/vlib/statemachine/statemachine.v @@ -17,15 +17,15 @@ mut: condition_handler ConditionFn = voidptr(0) } -struct StateMachine { +pub struct StateMachine { mut: states map[string]State transitions map[string]Transition current_state string } -pub fn new() &StateMachine { - return &StateMachine{} +pub fn new() StateMachine { + return StateMachine{} } pub fn (mut s StateMachine) add_state(name string, entry EventHandlerFn, run EventHandlerFn, exit EventHandlerFn) { diff --git a/vlib/statemachine/statemachine_test.v b/vlib/statemachine/statemachine_test.v index db71860802..a6323cde66 100644 --- a/vlib/statemachine/statemachine_test.v +++ b/vlib/statemachine/statemachine_test.v @@ -5,23 +5,26 @@ mut: data []string } -fn test_statemachine_works_when_single_transition() { - mut receiver := &MyReceiver{} +fn default_setup() (MyReceiver, statemachine.StateMachine) { + mut receiver := MyReceiver{} mut s := statemachine.new() s.add_state('A', on_state_entry, on_state_run, on_state_exit) s.add_state('B', on_state_entry, on_state_run, on_state_exit) s.add_transition('A', 'B', condition_transition) + return receiver, s +} + +fn test_statemachine_works_when_single_transition() { + mut receiver, mut s := default_setup() + s.run(receiver) assert receiver.data.len == 3 } fn test_statemachine_works_when_typical() { - mut receiver := &MyReceiver{} - mut s := statemachine.new() - s.add_state('A', on_state_entry, on_state_run, on_state_exit) - s.add_state('B', on_state_entry, on_state_run, on_state_exit) - s.add_transition('A', 'B', condition_transition) + mut receiver, mut s := default_setup() + s.run(receiver) assert receiver.data[0] == 'on_state_exit' @@ -30,11 +33,8 @@ fn test_statemachine_works_when_typical() { } fn test_statemachine_works_when_final_state() { - mut receiver := &MyReceiver{} - mut s := statemachine.new() - s.add_state('A', on_state_entry, on_state_run, on_state_exit) - s.add_state('B', on_state_entry, on_state_run, on_state_exit) - s.add_transition('A', 'B', condition_transition) + mut receiver, mut s := default_setup() + s.run(receiver) s.run(receiver)