Spaces:
Sleeping
Sleeping
| import asyncio | |
| from ethicsguard.env import EthicsGuardEnv | |
| from ethicsguard.models import EthicsGuardAction | |
| def test_env_reset_returns_queue() -> None: | |
| result = asyncio.run(EthicsGuardEnv(difficulty="easy", seed=1000).reset()) | |
| assert result.done is False | |
| assert len(result.observation.remaining_queue) > 0 | |
| def test_skip_removes_item_and_keeps_it_unresolved() -> None: | |
| env = EthicsGuardEnv(difficulty="easy", seed=1000) | |
| initial = asyncio.run(env.reset()) | |
| item_id = initial.observation.remaining_queue[0].id | |
| after = asyncio.run(env.step(EthicsGuardAction(item_id=item_id, action_type="skip"))) | |
| assert all(item.id != item_id for item in after.observation.remaining_queue) | |
| state = asyncio.run(env.state()) | |
| assert item_id in state.unresolved_item_ids | |
| def test_unknown_item_returns_error_without_ending_episode() -> None: | |
| env = EthicsGuardEnv(difficulty="easy", seed=1000) | |
| asyncio.run(env.reset()) | |
| result = asyncio.run(env.step(EthicsGuardAction(item_id="missing", action_type="approve"))) | |
| assert result.done is False | |
| assert result.last_action_error is not None | |
| def test_terminal_score_is_in_open_interval() -> None: | |
| env = EthicsGuardEnv(difficulty="easy", seed=1000) | |
| result = asyncio.run(env.reset()) | |
| while not result.done: | |
| item_id = result.observation.remaining_queue[0].id | |
| result = asyncio.run(env.step(EthicsGuardAction(item_id=item_id, action_type="approve"))) | |
| assert result.score is not None | |
| assert 0.0 < result.score < 1.0 | |