Exemplo n.º 1
0
class ReversiInitialBoardTest(unittest.TestCase):

    def setUp(self):
        self.game = Reversi()

    def test_initial_board(self):
        self.assertEqual(len(self.game.board), 64)
        self.assertEqual(self.game.board[Coord(0, 1)], ' ')
        self.assertEqual(self.game.board[Coord(3, 4)], self.game.BLACK)

    def test_valid_move(self):
        self.assertTrue(self.game.is_valid_move(Coord(4, 5)))
        self.assertTrue(self.game.is_valid_move(Coord(3, 2)))
        self.assertFalse(self.game.is_valid_move(Coord(3, 1)))
        self.assertFalse(self.game.is_valid_move(Coord(3, 3)))

    def test_is_enemy_disc(self):
        self.assertTrue(self.game.is_enemy_disc(Coord(3, 3)))
        self.assertFalse(self.game.is_enemy_disc(Coord(7, 0)))
        self.assertFalse(self.game.is_enemy_disc(Coord(4, 3)))

    def test_play(self):
        self.game.play(Coord(4, 5))
        self.assertEqual(self.game.board[Coord(4, 4)], self.game.BLACK)
        self.assertEqual(self.game.board[Coord(4, 5)], self.game.BLACK)

    def test_available_fields(self):
        fields = {Coord(4, 5), Coord(5, 4), Coord(3, 2), Coord(2, 3)}
        self.assertEqual(fields, set(self.game.available_fields()))

    def test_outcome(self):
        self.assertEqual(
            self.game.outcome(), self.game.GAME_STATES['IN_PROGRESS'])

    def test_outcome_after_play(self):
        self.game.play(Coord(5, 4))
        self.assertEqual(
            self.game.outcome(), self.game.GAME_STATES['IN_PROGRESS'])

    def test_players_result(self):
        self.assertEqual(self.game.black_player.result, 2)
        self.assertEqual(self.game.white_player.result, 2)

    def test_change_current_player(self):
        self.game.change_current_player()
        self.assertEqual(self.game.player.field, self.game.WHITE)
Exemplo n.º 2
0
class ReversiInitialBoardTest(unittest.TestCase):
    def setUp(self):
        self.game = Reversi()

    def test_initial_board(self):
        self.assertEqual(len(self.game.board), 64)
        self.assertEqual(self.game.board[Coord(0, 1)], ' ')
        self.assertEqual(self.game.board[Coord(3, 4)], self.game.BLACK)

    def test_valid_move(self):
        self.assertTrue(self.game.is_valid_move(Coord(4, 5)))
        self.assertTrue(self.game.is_valid_move(Coord(3, 2)))
        self.assertFalse(self.game.is_valid_move(Coord(3, 1)))
        self.assertFalse(self.game.is_valid_move(Coord(3, 3)))

    def test_is_enemy_disc(self):
        self.assertTrue(self.game.is_enemy_disc(Coord(3, 3)))
        self.assertFalse(self.game.is_enemy_disc(Coord(7, 0)))
        self.assertFalse(self.game.is_enemy_disc(Coord(4, 3)))

    def test_play(self):
        self.game.play(Coord(4, 5))
        self.assertEqual(self.game.board[Coord(4, 4)], self.game.BLACK)
        self.assertEqual(self.game.board[Coord(4, 5)], self.game.BLACK)

    def test_available_fields(self):
        fields = {Coord(4, 5), Coord(5, 4), Coord(3, 2), Coord(2, 3)}
        self.assertEqual(fields, set(self.game.available_fields()))

    def test_outcome(self):
        self.assertEqual(self.game.outcome(),
                         self.game.GAME_STATES['IN_PROGRESS'])

    def test_outcome_after_play(self):
        self.game.play(Coord(5, 4))
        self.assertEqual(self.game.outcome(),
                         self.game.GAME_STATES['IN_PROGRESS'])

    def test_players_result(self):
        self.assertEqual(self.game.black_player.result, 2)
        self.assertEqual(self.game.white_player.result, 2)

    def test_change_current_player(self):
        self.game.change_current_player()
        self.assertEqual(self.game.player.field, self.game.WHITE)