def test_cpuagent_generates_random_moves(): agent = CPUAgent() new_grid = np.array([1, 2, 1, 2, 1, 2, 1, 0, 0]) agent.update_grid(new_grid) generated_moves = set() for _ in range(10): generated_moves.add(agent.get_random_move()) assert len(generated_moves) == 2 assert Action.bottom_center in generated_moves assert Action.bottom_right in generated_moves
def test_cpuagent_generates_best_move_correctly(): agent = CPUAgent() new_grid = np.array([1, 2, 1, 2, 1, 2, 1, 0, 0]) agent.update_grid(new_grid) agent.current_state.next_states_values = np.array([-1, 1]) generated_moves = set() for _ in range(10): generated_moves.add(agent.get_best_move()) assert len(generated_moves) == 1 assert Action.bottom_center not in generated_moves assert Action.bottom_right in generated_moves
def test_cpuagent_updates_grid_correctly(): agent = CPUAgent() new_grid = np.array([1, 2, 1, 2, 1, 2, 1, 0, 0]) agent.update_grid(new_grid) assert_array_equal(new_grid, agent.grid) assert_array_equal(new_grid, agent.current_state.grid) assert_array_equal(agent.current_state.next_states_values, np.array([0, 0])) assert_array_equal(agent.current_state.next_states_transitions, np.array([Action.bottom_center, Action.bottom_right])) assert len(agent.states) == 1 new_state = agent.states[0] assert_array_equal(new_grid, new_state.grid) assert_array_equal(new_state.next_states_values, np.array([0, 0])) assert_array_equal(new_state.next_states_transitions, np.array([Action.bottom_center, Action.bottom_right]))