Beispiel #1
0
    def test_check_for_game_over_is_draw_if_both_players_have_no_cards(self):
        controller = GameController()
        controller._trump = DurakCard('6H')
        controller._deck = []
        controller._player1.cards = CardSet(cards=(), trump=controller._trump)
        controller._player2.cards = CardSet(cards=(), trump=controller._trump)
        controller._state = controller.States.MOVING
        controller._logger_enabled = False

        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertTrue(controller._winner is None)
Beispiel #2
0
    def test_check_for_game_over_is_draw_if_both_players_have_no_cards(self):
        controller = GameController()
        controller._trump = DurakCard('6H')
        controller._deck = []
        controller._player1.cards = CardSet(cards=(), trump=controller._trump)
        controller._player2.cards = CardSet(cards=(), trump=controller._trump)
        controller._state = controller.States.MOVING
        controller._logger_enabled = False

        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertTrue(controller._winner is None)
Beispiel #3
0
 def test_check_for_game_over_does_nothing_if_responder_can_beat_with_last_card(
         self):
     controller = GameController()
     controller._state = controller.States.RESPONDING
     controller._deck = []
     controller._trump = DurakCard('6H')
     controller._player1.cards = CardSet(cards=(), trump=controller._trump)
     controller._player2.cards = CardSet(cards=(DurakCard('KD'), ),
                                         trump=controller._trump)
     controller._to_move = controller._player1
     controller._on_table = [DurakCard('QD')]
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.RESPONDING)
Beispiel #4
0
 def test_check_for_game_over_does_nothing_if_both_players_have_cards(self):
     controller = GameController()
     controller._trump = DurakCard('6H')
     controller._deck = []
     controller._player1.cards = CardSet(cards=(DurakCard('AC'),
                                                DurakCard('8S')),
                                         trump=controller._trump)
     controller._player2.cards = CardSet(cards=(DurakCard('KD'),
                                                DurakCard('KS')),
                                         trump=controller._trump)
     controller._state = controller.States.MOVING
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.MOVING)
Beispiel #5
0
 def test_check_for_game_over_does_nothing_if_responder_can_beat_with_last_card(self):
     controller = GameController()
     controller._state = controller.States.RESPONDING
     controller._deck = []
     controller._trump = DurakCard('6H')
     controller._player1.cards = CardSet(cards=(), trump=controller._trump)
     controller._player2.cards = CardSet(
         cards=(DurakCard('KD'),), trump=controller._trump
     )
     controller._to_move = controller._player1
     controller._on_table = [DurakCard('QD')]
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.RESPONDING)
Beispiel #6
0
 def test_check_for_game_over_does_nothing_if_both_players_have_cards(self):
     controller = GameController()
     controller._trump = DurakCard('6H')
     controller._deck = []
     controller._player1.cards = CardSet(
         cards=(DurakCard('AC'), DurakCard('8S')), trump=controller._trump
     )
     controller._player2.cards = CardSet(
         cards=(DurakCard('KD'), DurakCard('KS')), trump=controller._trump
     )
     controller._state = controller.States.MOVING
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.MOVING)
Beispiel #7
0
    def test_check_for_game_over_player_wins_if_has_no_cards(self):
        controller = GameController()
        controller._trump = DurakCard('6H')
        controller._deck = []
        controller._player1.cards = CardSet(cards=(), trump=controller._trump)
        controller._player2.cards = CardSet(cards=(DurakCard('KD'),
                                                   DurakCard('KS')),
                                            trump=controller._trump)
        controller._state = controller.States.MOVING
        controller._logger_enabled = False

        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertEqual(controller._winner, controller._player1)

        controller._player1.cards = CardSet(cards=(DurakCard('AC'),
                                                   DurakCard('8S')),
                                            trump=controller._trump)
        controller._player2.cards = CardSet(cards=(), trump=controller._trump)
        controller._state = controller.States.MOVING
        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertEqual(controller._winner, controller._player2)
Beispiel #8
0
    def test_check_for_game_over_player_wins_if_has_no_cards(self):
        controller = GameController()
        controller._trump = DurakCard('6H')
        controller._deck = []
        controller._player1.cards = CardSet(cards=(), trump=controller._trump)
        controller._player2.cards = CardSet(
            cards=(DurakCard('KD'), DurakCard('KS')), trump=controller._trump
        )
        controller._state = controller.States.MOVING
        controller._logger_enabled = False

        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertEqual(controller._winner, controller._player1)

        controller._player1.cards = CardSet(
            cards=(DurakCard('AC'), DurakCard('8S')), trump=controller._trump
        )
        controller._player2.cards = CardSet(cards=(), trump=controller._trump)
        controller._state = controller.States.MOVING
        controller._check_for_game_over()
        self.assertTrue(controller._state is None)
        self.assertEqual(controller._winner, controller._player2)
Beispiel #9
0
 def test_check_for_game_over_does_nothing_if_deck_is_not_empty(self):
     controller = GameController()
     controller._state = controller.States.MOVING
     controller._deck = [DurakCard('7S'), DurakCard('8D')]
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.MOVING)
Beispiel #10
0
 def test_check_for_game_over_does_nothing_if_deck_is_not_empty(self):
     controller = GameController()
     controller._state = controller.States.MOVING
     controller._deck = [DurakCard('7S'), DurakCard('8D')]
     controller._check_for_game_over()
     self.assertEqual(controller._state, controller.States.MOVING)