Exemple #1
0
    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
Exemple #2
0
    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
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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
Exemple #6
0
    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
Exemple #7
0
    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