def test_reset_state():
    """Assert that last_move is reset with call to reset_state."""
    c_player = CounterRPSAgent()
    assert c_player.last_move is None

    c_player.last_move = 0
    assert c_player.last_move is not None

    c_player.reset_state()
    assert c_player.last_move is None
def test_make_move():
    """Test logic for making moves."""
    c_player = CounterRPSAgent()

    # Makes random move
    assert c_player.make_move() in [0, 1, 2]

    # Counters opponent's move
    opp_move_rock = 0
    c_player.last_move = opp_move_rock
    assert c_player.make_move() == 1

    opp_move_paper = 1
    c_player.last_move = opp_move_paper
    assert c_player.make_move() == 2

    opp_move_scissors = 2
    c_player.last_move = opp_move_scissors
    assert c_player.make_move() == 0