MiniGridEnv / tests /test_action_parser.py
yashu2000's picture
Upload folder using huggingface_hub
a03a89b verified
"""Unit tests for text-to-action parsing."""
from MiniGridEnv.env.action_parser import parse_action
def test_exact_match():
assert parse_action("go forward") == (2, "go forward", True)
def test_case_insensitive():
assert parse_action("Turn Left") == (0, "turn left", True)
def test_structured_format():
action_idx, canonical, valid = parse_action("Thought: I see a key.\nAction: pickup")
assert (action_idx, canonical, valid) == (3, "pickup", True)
def test_alias():
assert parse_action("left") == (0, "turn left", True)
def test_substring():
assert parse_action("I should go forward now") == (2, "go forward", True)
def test_invalid_fallback():
action_idx, canonical, valid = parse_action("fly to the moon")
assert (action_idx, canonical, valid) == (2, "go forward", False)
def test_all_canonical_actions():
expected = [
("turn left", 0),
("turn right", 1),
("go forward", 2),
("pickup", 3),
("drop", 4),
("toggle", 5),
("done", 6),
]
for command, index in expected:
assert parse_action(command)[0] == index
def test_whitespace_handling():
assert parse_action(" go forward \n") == (2, "go forward", True)