File size: 1,101 Bytes
06c11b0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | from __future__ import annotations
def test_sanitize_options_removes_solve_and_boolifies_available(reload_module):
process_session = reload_module("process_session")
raw = [
{
"label": "a",
"action": "pick",
"available": ["obj1"],
"solve": lambda: None,
"extra": 123,
},
{
"label": "b",
"action": "place",
"available": [],
"solve": lambda: None,
},
]
cleaned = process_session._sanitize_options(raw)
assert len(cleaned) == 2
assert "solve" not in cleaned[0]
assert "solve" not in cleaned[1]
assert cleaned[0]["available"] is True
assert cleaned[1]["available"] is False
assert cleaned[0]["label"] == "a"
assert cleaned[0]["action"] == "pick"
assert cleaned[0]["extra"] == 123
def test_sanitize_options_handles_empty_input(reload_module):
process_session = reload_module("process_session")
assert process_session._sanitize_options(None) == []
assert process_session._sanitize_options([]) == []
|