Ejemplo n.º 1
0
def test_irregular_comparative():
    comparative = get_adjective(["μειζων"], "33")
    adj = get_adjective(["αγαθος", "αγαθη", "αγαθον"],
                        "212",
                        comparative=comparative)
    assert adj.decline(Gender.MASCULINE, 0, Case.GENITIVE,
                       Degree.COMPARATIVE) == "μειζονος"
Ejemplo n.º 2
0
def test_errors():
    with pytest.raises(UnknownAdjectiveTypeError):
        adj = get_adjective(["noot"])
    with pytest.raises(UnknownAdjectiveTypeError):
        adj = get_adjective(["noot"], "33")
    with pytest.raises(UnknownAdjectiveTypeError):
        adj = get_adjective([], "230498")
Ejemplo n.º 3
0
def test_irregular_superlative():
    superlative = get_adjective(["αριστος", "αριστη", "αριστον"], "212")
    adj = get_adjective(["αγαθος", "αγαθη", "αγαθον"],
                        "212",
                        superlative=superlative)
    assert adj.decline(Gender.MASCULINE, 0, Case.GENITIVE,
                       Degree.SUPERLATIVE) == "αριστου"
    def get_participle(self, tense: Tense, voice: Voice):
        if tense is Tense.IMPERFECT:
            raise VerbComputeError("There is no imperfect participle!")

        if not self.can_get_form(tense, voice):
            raise VerbComputeError(
                "That form of the verb either does not exist, or was not supplied!"
            )

        if tense is Tense.PRESENT:
            stem = self.present
            if voice is Voice.ACTIVE:
                return get_adjective([stem + "ων", stem + "ουσα", stem + "ον"],
                                     "313")
            else:
                stem += "ομεν"
                return get_adjective([stem + "ος", stem + "η", stem + "ον"],
                                     "212")

        elif tense is Tense.FUTURE:
            if voice is Voice.PASSIVE:
                stem = self.aorist_passive + "ησομεν"
                return get_adjective([stem + "ος", stem + "η", stem + "ον"],
                                     "212")

            stem = self.future

            if voice is Voice.ACTIVE:
                return get_adjective([stem + "ων", stem + "ουσα", stem + "ον"],
                                     "313")
            else:
                stem += "ομεν"
                return get_adjective([stem + "ος", stem + "η", stem + "ον"],
                                     "212")

        elif tense is Tense.AORIST:
            if voice is Voice.PASSIVE:
                stem = self.aorist_passive
                return get_adjective(
                    [stem + "εις", stem + "εισα", stem + "εν"], "313")

            stem = self.aorist

            if voice is Voice.ACTIVE:
                if self.aorist_type is AoristType.WEAK:
                    return get_adjective(
                        [stem + "ας", stem + "ασα", stem + "αν"], "313")
                else:
                    return get_adjective(
                        [stem + "ων", stem + "ουσα", stem + "ον"], "313")
            else:
                if self.aorist_type is AoristType.WEAK:
                    stem += "αμεν"
                else:
                    stem += "ομεν"
                return get_adjective([stem + "ος", stem + "η", stem + "ον"],
                                     "212")
Ejemplo n.º 5
0
 def get_participle(self, tense: Tense, voice: Voice):
     try:
         return get_adjective(
             *self.irregular_participles[tense.name][voice.name])
     except KeyError:
         pass
     return super().get_participle(tense, voice)
Ejemplo n.º 6
0
def test_basic_adjective(g, n, c, d, expected):
    adj = get_adjective(["σοφος", "σοφη", "σοφον"])
    assert adj.decline(g, n, c, d) == expected
Ejemplo n.º 7
0
def test_adverb_comparative():
    assert get_adjective(["σοφος", "σοφη",
                          "σοφον"]).comparative.adverb == "σοφωτερον"
    assert get_adjective(["σοφος", "σοφη",
                          "σοφον"]).superlative.adverb == "σοφωτατα"
Ejemplo n.º 8
0
def test_33_adjective(g, n, c, d, expected):
    adj = get_adjective(["δυστυχης"], "33")
    assert adj.decline(g, n, c, d) == expected
Ejemplo n.º 9
0
def test_adverb_33():
    assert get_adjective(["δυστυχης"], "33").adverb == "δυστυχως"
Ejemplo n.º 10
0
def test_adverb_22():
    assert get_adjective(["αδικος", "αδικον"], "22").adverb == "αδικως"
Ejemplo n.º 11
0
def test_adverb_212():
    assert get_adjective(["σοφος", "σοφη", "σοφον"]).adverb == "σοφως"
Ejemplo n.º 12
0
def test_adverb_313():
    assert get_adjective(["βραδυς", "βραδεια", "βραδυ"],
                         "313").adverb == "βραδεως"
Ejemplo n.º 13
0
def test_adjective_long_last_vowel(g, n, c, d, expected):
    adj = get_adjective(["μικρος", "μικρα", "μικρον"],
                        "212",
                        last_syll_long=True)
    assert adj.decline(g, n, c, d) == expected
Ejemplo n.º 14
0
def test_33_comparative(g, n, c, expected):
    adj = get_adjective(["μειζων"], "33")
    assert adj.decline(g, n, c) == expected
Ejemplo n.º 15
0
def test_22_adjective(g, n, c, d, expected):
    adj = get_adjective(["αδικος", "αδικον"], "22")
    assert adj.decline(g, n, c, d) == expected
Ejemplo n.º 16
0
def test_313_adjective(g, n, c, d, expected):
    adj = get_adjective(["βραδυς", "βραδεια", "βραδυ"], "313")
    assert adj.decline(g, n, c, d) == expected
Ejemplo n.º 17
0
def test_313_participle_weak(g, n, c, expected):
    adj = get_adjective(["παυσας", "παυσασα", "παυσαν"], "313")
    assert adj.decline(g, n, c) == expected