def call_function(self):
     self.fake_path = self.fake_path / "skills"
     self.fake_path.mkdir(parents=True)
     self.create_fake_skill_meta(self.fake_path, **{
         **self.fake_values,
     })
     french = Language(self.fake_values["word3"], "")
     english = Language("English", "")
     self.fake_course = Course(french, english, [], [], None, None)
     self.result = _load_skill(self.fake_path / "food.yaml",
                               self.fake_course)
Exemple #2
0
def load_course(path):
    """
    Load a YAML-based course into a Course() object
    """
    data = _load_yaml(Path(path) / "course.yaml")
    course = data["Course"]
    raw_modules = data["Modules"]
    dumb_course = Course(
        target_language=_convert_language(course["Language"]),
        source_language=_convert_language(course["For speakers of"]),
        license=_convert_license(course["License"]),
        special_characters=course["Special characters"],
        dictionary=[],
        modules=[],
    )
    modules = _load_modules(path, raw_modules, dumb_course)

    return Course(
        **{
            **dumb_course._asdict(),
            "dictionary": _load_dictionary(modules),
            "modules": modules,
        })
Exemple #3
0
 def test_matches_definitions_in_a_case_insensitive_way(self):
     my_course = Course(
         **{
             **(fakes.course1._asdict()),
             "dictionary": [
                 DictionaryItem(
                     word="Easier",
                     definition="by a lot",
                     is_in_target_language=True
                 ),
             ]
         },
     )
     assert _define_word(my_course, "easier", is_in_target_language=True) == {
         "word": "easier",
         "definition": "by a lot"
     }
Exemple #4
0
 def test_doesnt_include_definition_with_different_word(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = Course(
         **{
             **(fakes.course1._asdict()),
             "dictionary": [
                 DictionaryItem(
                     word=word,
                     definition=meaning,
                     is_in_target_language=is_in_target_language
                 ),
             ]
         },
     )
     with pytest.raises(ValueError):
         _define_word(my_course, "asd",
                      is_in_target_language=is_in_target_language)
Exemple #5
0
 def test_normalizes_words(self):
     word = str(fakes.fake_value())
     meaning = str(fakes.fake_value())
     is_in_target_language = fakes.fake_value()
     my_course = Course(
         **{
             **(fakes.course1._asdict()),
             "dictionary": [
                 DictionaryItem(
                     word=word,
                     definition=meaning,
                     is_in_target_language=is_in_target_language
                 ),
             ]
         },
     )
     assert _define_word(my_course, word + ",", is_in_target_language=is_in_target_language) == {
         "word": word + ",",
         "definition": meaning
     }
Exemple #6
0
    )
]

language_1 = Language(
    name="my language",
    code="de",
)

language_2 = Language(
    name="another language",
    code="tr",
)

courseEmpty = Course(target_language=language_1,
                     source_language=language_2,
                     special_characters=["ä", "ß"],
                     license=license1,
                     modules=[],
                     dictionary=fake_dictionary)

course1 = Course(target_language=language_1,
                 source_language=language_2,
                 special_characters=["ä", "ß"],
                 license=license1,
                 modules=[
                     Module(title="Basics",
                            skills=[
                                skills[0],
                                skills[1],
                                skills[2],
                            ]),
                     Module(title="Phrases", skills=[]),