def test_event_roll(self, game): assert game.state == State.Empty # Test: Quorate -> PlayerCheck game.state = State.Quorate game.trigger(Trigger.Roll) assert game.state == State.PlayerCheck
def test_event_player_remove(self, game): assert game.state == State.Empty # Test: Empty -> Empty game.trigger(Trigger.PlayersRemoved) assert game.state == State.Empty # Test: NotQuorate -> Empty game.state = State.NotQuorate game.trigger(Trigger.PlayersRemoved) assert game.state == State.Empty # Test: NotQuorate -> NotQuorate game.p_has_players = True game.state = State.NotQuorate game.trigger(Trigger.PlayersRemoved) assert game.state == State.NotQuorate # Test: Quorate -> NotQurate game.state = State.Quorate game.p_has_space = True game.trigger(Trigger.PlayersRemoved) assert game.state == State.NotQuorate # Test: PlayerCheck -> NoNotQuorate game.state = State.PlayerCheck game.p_has_space = True game.trigger(Trigger.PlayersRemoved) assert game.state == State.NotQuorate
def test_state_waiting_for_area(self, game): game.state = State.Quorate game.p_is_area_busy = True game.trigger(Trigger.Roll) assert game.state == State.WaitingForArea # Should advance to PlayerCheck when # condition clears game.p_is_area_busy = False game.trigger(Trigger.AreaReady) assert game.state == State.PlayerCheck
def test_state_waiting_for_hold(self, game): game.state = State.Quorate game.p_is_held = True game.trigger(Trigger.Roll) assert game.state == State.WaitingForHold # Should advance to PlayerCheck when # condition clears game.p_is_held = False game.trigger(Trigger.HoldCleared) assert game.state == State.PlayerCheck # Reset, and make sure it takes precedence game.state = State.Quorate game.p_is_held = True game.p_is_area_busy = True game.p_has_idle_players = True game.trigger(Trigger.Roll) assert game.state == State.WaitingForHold # Should return to quorate as there are other # issues game.p_is_held = False game.trigger(Trigger.HoldCleared) assert game.state == State.Quorate
def test_state_waiting_for_time(self, game): game.state = State.Quorate game.p_is_future_game = True game.trigger(Trigger.Roll) assert game.state == State.WaitingForTime # Should advance to PlayerCheck when # condition clears game.p_is_future_game = False game.trigger(Trigger.TimerFired) assert game.state == State.PlayerCheck # Reset, and make sure future game takes precendence game.state = State.Quorate game.p_is_future_game = True game.p_is_held = True game.p_is_area_busy = True game.trigger(Trigger.Roll) assert game.state == State.WaitingForTime # Should return to quorate as there are other # issues game.p_is_future_game = False game.trigger(Trigger.TimerFired) assert game.state == State.Quorate
def test_event_player_added(self, game): assert game.state == State.Empty # Test: Empty -> Empty game.trigger(Trigger.PlayersAdded) assert game.state == State.Empty # Test: Empty -> NotQuorate (has players) game.p_has_players = True game.trigger(Trigger.PlayersAdded) assert game.state == State.NotQuorate # Test: NotQuorate -> Quorate (no space) game.p_has_space = False game.trigger(Trigger.PlayersAdded) assert game.state == State.Quorate # Test: Empty -> Quorate (no space) game.state = State.Empty game.p_has_space = False game.trigger(Trigger.PlayersAdded) assert game.state == State.Quorate
def test_state_player_check(self, game): # Test: PlayerCheck -> PlayerCheck game.state = State.PlayerCheck game.p_are_players_ready = False game.trigger(Trigger.PlayerReady) assert game.state == State.PlayerCheck # Test: PlayerCheck -> PlayersNotReady game.state = State.PlayerCheck game.trigger(Trigger.TimerFired) assert game.state == State.PlayersNotReady # Test: PlayerCheck -> Rolling game.state = State.PlayerCheck game.p_are_players_ready = True game.trigger(Trigger.PlayerReady) assert game.state == State.Rolling