def test_get_state_number(self): env = Environment(3, 3) env.set_x(0, 0) # 1 env.set_x(0, 1) # 3 env.set_x(0, 2) # 9 env.set_o(1, 1) # 3^4 * 2 = 162 state_number = env.get_state_number(env.board) self.assertEqual(175, state_number)
def test__game_ended_column_check_when_game_ended(self): env = Environment(3, 3) env.set_x(0, 0) env.set_x(1, 0) env.set_x(2, 0) if_game_ended = env._game_ended_column_check() self.assertEqual(True, if_game_ended)
def test__game_ended_row_check_when_game_not_ended(self): env = Environment(3, 3) env.set_o(0, 0) env.set_o(0, 1) env.set_x(0, 2) if_game_ended = env._game_ended_row_check() env.print_array(env.board) self.assertEqual(False, if_game_ended)
def test__draw_check_when_no_draw(self): env = Environment(3, 3) env.set_x(0, 0) env.set_x(1, 0) env.set_o(2, 0) env.print_array(env.board) env._draw_check() self.assertEqual(False, env.draw)
def test_game_ended_when_x_has_won_(self): env = Environment(3, 3) env.set_x(0, 0) env.set_x(1, 0) env.set_x(2, 0) env.print_array(env.board) game_ended = env.check_game_ended(force_recalculate=True) self.assertEqual(True, game_ended)
def test__game_ended_diagonal_check_when_ended_left_to_right_on_4x4_board(self): env = Environment(4, 4) env.set_x(1, 1) env.set_x(2, 2) env.set_x(3, 3) env.print_array(env.board) if_game_ended = env._game_ended_diagonal_check() self.assertEqual(True, if_game_ended)
def test_rows_columns_number(self): # given env = Environment(4, 3) # when env.set_x(0, 0) # x denoted as 1 in numpy array env.set_o(0, 1) # o denoted as 2 in numpy array # then self.assertEqual(env.rows, 4) self.assertEqual(env.columns, 3) self.assertEqual(env.board[0, 0], 1) self.assertEqual(env.board[0, 1], 2)