Example #1
0
def test_load_course_output_matches_value(fs):
    fixture_path = os.path.join(os.path.dirname(
        __file__), 'fixtures', "fake_course")
    fs.add_real_directory(fixture_path)
    result = load_course(fixture_path)
    assert result.target_language == Language(
        name="French",
        code="fr"
    )
    assert result.source_language == Language(
        name="English",
        code="en")
    assert result.license == License(name='CC BY 3.0', full_name='CC BY 3.0',
                                     link='https://www.example.com/license')
    assert result.dictionary == [
        DictionaryItem("the man", ["l'homme"], False),
        DictionaryItem("l'homme", ["the man"], True),
        DictionaryItem("the woman", ["la femme"], False),
        DictionaryItem("la femme", ["the woman"], True),
    ]
    assert len(result.modules) == 1
    assert result.modules[0].title == "Basics"
    assert len(result.modules[0].skills) == 1
    assert result.modules[0].skills[0] == Skill(
        name="Hello",
        id=4,
        image_set=["people1", "woman1", "man1"],
        phrases=result.modules[0].skills[0].phrases,
        words=result.modules[0].skills[0].words,
    )
    assert result.modules[0].skills[0].phrases == [
        Phrase(
            in_target_language=['La femme dit bonjour',
                                'la femme dit salut'],
            in_source_language=['The woman says hello',
                                'The woman says hi']),
        Phrase(
            in_target_language=["L'homme dit bonjour",
                                "L'homme dit salut"],
            in_source_language=['The man says hello',
                                'The man says hi'])]

    assert result.modules[0].skills[0].words == [
        Word(
            in_target_language=["l'homme"],
            in_source_language=['the man'],
            pictures=['man1', 'man2', 'man3']
        ),
        Word(
            in_target_language=['la femme', 'la dame'],
            in_source_language=['the woman', 'the female'],
            pictures=None
        )
    ]
    assert result.special_characters == [
        'Ç', 'é', 'â', 'ê', 'î', 'ô', 'û', 'à', 'è', 'ù', 'ë', 'ï', 'ü'
    ]
Example #2
0
 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)
Example #3
0
 def test_assert_logs_correctly(self):
     with self.assertLogs("librelingo_tools", level="INFO") as log:
         randomname1 = str(random.randint(0, 5000))
         randomname2 = str(random.randint(0, 5000))
         fake_course = fakes.customize(
             fakes.course1,
             target_language=Language(name=randomname1, code=""),
             source_language=Language(name=randomname2, code=""))
         export_course_data(self.export_path, fake_course)
         assert log.output[0] == \
             "INFO:librelingo_tools:Writing course '{}' for '{}' speakers".format(
                 randomname1, randomname2)
Example #4
0
def convert_language(raw_language):
    """
    Convert a YAML langauge description into a Language() object
    """
    return Language(
        name=raw_language["Name"],
        code=raw_language["IETF BCP 47"],
    )
Example #5
0
skills = [
    skillWithPhrase,
    Skill(name="Feminine",
          id=3,
          words=[word1, word2, word1, word2],
          phrases=[phrase1],
          image_set=["woman1", "woman2", "girl1"]), emptySkill,
    Skill(name="Mammals and birds",
          id=3,
          words=[word1],
          phrases=[],
          image_set=["just_one_image"])
]

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=[])

course1 = Course(target_language=language_1,