def test_init_meta_curriculum_happy_path(
    listdir, mock_curriculum_init, mock_curriculum_get_config, default_reset_parameters
):
    meta_curriculum = MetaCurriculum.from_directory("test/")

    assert len(meta_curriculum.brains_to_curricula) == 2

    assert "Brain1" in meta_curriculum.brains_to_curricula
    assert "Brain2.test" in meta_curriculum.brains_to_curricula

    calls = [call("test/Brain1.json"), call("test/Brain2.test.json")]

    mock_curriculum_init.assert_has_calls(calls)
Beispiel #2
0
def try_create_meta_curriculum(
    curriculum_folder: Optional[str], env: SubprocessEnvManager, lesson: int
) -> Optional[MetaCurriculum]:
    if curriculum_folder is None:
        return None

    else:
        meta_curriculum = MetaCurriculum.from_directory(curriculum_folder)
        # TODO: Should be able to start learning at different lesson numbers
        # for each curriculum.
        meta_curriculum.set_all_curricula_to_lesson_num(lesson)

        return meta_curriculum
def test_init_meta_curriculum_bad_curriculum_folder_raises_error(listdir):
    with pytest.raises(MetaCurriculumError):
        MetaCurriculum.from_directory("test/")