def test_is_terminal(): """Test that the state goes terminal when the agent makes a move outside the corridors.""" lab = ChemistryLab() root_subgoal = ChemistryLab.create_subgoals() assert not lab.is_terminal(lab.initial_state(), root_subgoal) assert not lab.is_terminal([0.55, 0.4], root_subgoal) assert not lab.is_terminal([0.25, 0.4], root_subgoal) assert lab.is_terminal([0, 0], root_subgoal) assert lab.is_terminal([0.25, 0.64], root_subgoal) assert lab.is_terminal([1, 1], root_subgoal) assert not lab.is_terminal([0.64, 0.75], root_subgoal) assert not lab.is_terminal([0.64, 0.70], root_subgoal) assert not lab.is_terminal([0.25, 0.70], root_subgoal) assert lab.is_terminal([0.64, 0.5], root_subgoal)
def test_subgoals(): """Test that the created subgoals are correct.""" root_subgoal = ChemistryLab.create_subgoals() assert len(root_subgoal.connections) == 2 assert root_subgoal.root