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)