Integrating It All
[ 322 ]
We can verify this with a Spock test:
given:
def engine = new GameEngineClient()
expect:
!engine.session
when:
def savedSession = engine.game_start()
then:
engine.session
engine.page == 'players'
engine.session.players.size() == 2
engine.session.players[0].playerClass == 'NextFreeSpacePlayer'
engine.session.players[1].playerClass == 'RandomPlayer'
when:
engine = new GameEngineClient()
savedSession = engine.select_players(
[
playerX: 'NextFreeSpacePlayer',
playerO: 'NextFreeSpacePlayer'
],
savedSession)
then:
engine.page == 'roundX'
when:
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'X'], savedSession)
then:
engine.page == 'roundO'
when:
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'O'], savedSession)
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'X'], savedSession)
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'O'], savedSession)
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'X'], savedSession)
engine = new GameEngineClient()
savedSession = engine.play_round([player: 'O'], savedSession)
then:
engine.page == 'roundX'
http://www.ebook3000.com