@@ -45,11 +45,13 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
4545 TurnstileStateMachine {
4646 initialState ( _state)
4747 state ( . locked) {
48- onEnter {
49- logger. log ( Message . enterLocked. rawValue)
48+ onEnter { state in
49+ let credit : Int = try state. credit ( )
50+ logger. log ( " \( Message . enterLocked. rawValue) \( credit) " )
5051 }
51- onExit {
52- logger. log ( Message . exitLocked. rawValue)
52+ onExit { state in
53+ let credit : Int = try state. credit ( )
54+ logger. log ( " \( Message . exitLocked. rawValue) \( credit) " )
5355 }
5456 on ( . insertCoin) { locked, insertCoin in
5557 let newCredit : Int = try locked. credit ( ) + insertCoin. value ( )
@@ -67,21 +69,21 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
6769 }
6870 }
6971 state ( . unlocked) {
70- onEnter {
72+ onEnter { _ in
7173 logger. log ( Message . enterUnlocked. rawValue)
7274 }
73- onExit {
75+ onExit { _ in
7476 logger. log ( Message . exitUnlocked. rawValue)
7577 }
7678 on ( . admitPerson) {
7779 transition ( to: . locked( credit: 0 ) , emit: . closeDoors)
7880 }
7981 }
8082 state ( . broken) {
81- onEnter {
83+ onEnter { _ in
8284 logger. log ( Message . enterBroken. rawValue)
8385 }
84- onExit {
86+ onExit { _ in
8587 logger. log ( Message . exitBroken. rawValue)
8688 }
8789 on ( . machineRepairDidComplete) { broken in
@@ -123,7 +125,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
123125 event: . insertCoin( 10 ) ,
124126 toState: . locked( credit: 10 ) ,
125127 sideEffect: nil ) ) )
126- expect ( self . logger) . to ( noLog ( ) )
128+ expect ( self . logger) . to ( log ( " \( Message . exitLocked ) 0 " , " \( Message . enterLocked ) 10 " ) )
127129 }
128130
129131 func test_givenStateIsLocked_whenInsertCoin_andCreditEqualsFarePrice_shouldTransitionToUnlockedStateAndOpenDoors( ) throws {
@@ -140,7 +142,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
140142 event: . insertCoin( 15 ) ,
141143 toState: . unlocked,
142144 sideEffect: . openDoors) ) )
143- expect ( self . logger) . to ( log ( Message . exitLocked. rawValue , Message . enterUnlocked. rawValue) )
145+ expect ( self . logger) . to ( log ( " \( Message . exitLocked) 35 " , Message . enterUnlocked. rawValue) )
144146 }
145147
146148 func test_givenStateIsLocked_whenInsertCoin_andCreditMoreThanFarePrice_shouldTransitionToUnlockedStateAndOpenDoors( ) throws {
@@ -157,7 +159,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
157159 event: . insertCoin( 20 ) ,
158160 toState: . unlocked,
159161 sideEffect: . openDoors) ) )
160- expect ( self . logger) . to ( log ( Message . exitLocked. rawValue , Message . enterUnlocked. rawValue) )
162+ expect ( self . logger) . to ( log ( " \( Message . exitLocked) 35 " , Message . enterUnlocked. rawValue) )
161163 }
162164
163165 func test_givenStateIsLocked_whenAdmitPerson_shouldTransitionToLockedStateAndSoundAlarm( ) throws {
@@ -191,7 +193,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
191193 event: . machineDidFail,
192194 toState: . broken( oldState: . locked( credit: 15 ) ) ,
193195 sideEffect: . orderRepair) ) )
194- expect ( self . logger) . to ( log ( Message . exitLocked. rawValue, Message . enterBroken. rawValue) )
196+ expect ( self . logger) . to ( log ( " \( Message . exitLocked. rawValue) 15 " , Message . enterBroken. rawValue) )
195197 }
196198
197199 func test_givenStateIsUnlocked_whenAdmitPerson_shouldTransitionToLockedStateAndCloseDoors( ) throws {
@@ -208,7 +210,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
208210 event: . admitPerson,
209211 toState: . locked( credit: 0 ) ,
210212 sideEffect: . closeDoors) ) )
211- expect ( self . logger) . to ( log ( Message . exitUnlocked. rawValue, Message . enterLocked. rawValue ) )
213+ expect ( self . logger) . to ( log ( Message . exitUnlocked. rawValue, " \( Message . enterLocked) 0 " ) )
212214 }
213215
214216 func test_givenStateIsBroken_whenMachineRepairDidComplete_shouldTransitionToLockedState( ) throws {
@@ -225,7 +227,7 @@ final class StateMachine_Turnstile_Tests: XCTestCase, StateMachineBuilder {
225227 event: . machineRepairDidComplete,
226228 toState: . locked( credit: 15 ) ,
227229 sideEffect: nil ) ) )
228- expect ( self . logger) . to ( log ( Message . exitBroken. rawValue, Message . enterLocked. rawValue ) )
230+ expect ( self . logger) . to ( log ( Message . exitBroken. rawValue, " \( Message . enterLocked) 15 " ) )
229231 }
230232}
231233
0 commit comments