def METHOD_NAME(self):
    # Test is last, and it is last because of valid prompt_node_response and default final_answer_pattern
    agent_step = AgentStep(current_step=1, max_steps=10, prompt_node_response="Hello", transcript="Hello")
    assert agent_step.is_last()
    # Test not last
    agent_step.current_step = 1
    agent_step.prompt_node_response = "final answer not satisfying pattern"
    agent_step.final_answer_pattern = r"Final Answer\s*:\s*(.*)"
    assert not agent_step.is_last()
    # Test border cases for max_steps
    agent_step.current_step = 9
    assert not agent_step.is_last()
    agent_step.current_step = 10
    assert not agent_step.is_last()
    # Test when last due to max_steps
    agent_step.current_step = 11
    assert agent_step.is_last()