Ejemplo n.º 1
0
    def test_comes_after(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")

        self.assert_suffixes_matches_not(comes_after(s2), None)
        self.assert_suffixes_matches    (comes_after(s2), [s2])
        self.assert_suffixes_matches_not(comes_after(s2), [s1])
        self.assert_suffixes_matches    (comes_after(s2), [s1, s2])
Ejemplo n.º 2
0
    def test_comes_after(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")

        self.assert_suffixes_matches_not(comes_after(s2), None)
        self.assert_suffixes_matches(comes_after(s2), [s2])
        self.assert_suffixes_matches_not(comes_after(s2), [s1])
        self.assert_suffixes_matches(comes_after(s2), [s1, s2])
Ejemplo n.º 3
0
    def _register_copula_agreements(self):
        comes_after_cond_or_past = comes_after(self.Cond_Cop) | comes_after(self.Cond_Cop_Secondary) | comes_after(self.Past_Cop)

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A1Sg_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A1Sg_Cop.add_suffix_form("+yIm")                          # (ben) elma-yim, (ben) armud-um, elma-ymis-im
        self.A1Sg_Cop.add_suffix_form("m", comes_after_cond_or_past)   # elma-ydi-m, elma-ysa-m

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A2Sg_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A2Sg_Cop.add_suffix_form("sIn")                           # (sen) elma-sin, (sen) armutsun, elma-ymis-sin
        self.A2Sg_Cop.add_suffix_form("n", comes_after_cond_or_past)   # elma-ydi-n, elma-ysa-n

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A3Sg_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A3Sg_Cop.add_suffix_form("")                              # (o) elma(dir), (o) armut(tur), elma-ymis, elma-ysa, elma-ydi

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A1Pl_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A1Pl_Cop.add_suffix_form("+yIz")                          # (biz) elma-yiz, (biz) armud-uz, elma-ymis-iz
        self.A1Pl_Cop.add_suffix_form("k", comes_after_cond_or_past)   # elma-ydi-k, elma-ysa-k

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A2Pl_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A2Pl_Cop.add_suffix_form("sInIz")                         # (siz) elma-siniz, (siz) armut-sunuz, elma-ymis-siniz
        self.A2Pl_Cop.add_suffix_form("nIz", comes_after_cond_or_past) # elma-ydi-niz, elma-ysa-niz

        self.VERB_COPULA_WITH_TENSE.add_out_suffix(self.A3Pl_Cop, self.DECORATED_VERB_TERMINAL_TRANSFER)
        self.A3Pl_Cop.add_suffix_form("lAr")    # (onlar) elma-lar(dir), (onlar) armut-lar(dir), elma-ymis-lar, elma-ydi-lar, elma-ysa-lar
Ejemplo n.º 4
0
    def test_comes_after_with_forms(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")
        f11 = 'a'
        f12 = 'b'
        f21 = 'c'

        self.assert_suffixes_matches    ( comes_after(s1, f11), [(s1, f11)])
        self.assert_suffixes_matches    ( comes_after(s1     ), [(s1, f11)])
        self.assert_suffixes_matches_not(~comes_after(s1, f11), [(s1, f11)])
        self.assert_suffixes_matches_not(~comes_after(s1     ), [(s1, f11)])

        self.assert_suffixes_matches    ( comes_after(s1, f11), [(s1, f11), (s1, f12)])
        self.assert_suffixes_matches    (~comes_after(s2, f21), [(s1, f11), (s1, f12)])
Ejemplo n.º 5
0
    def test_comes_after_with_forms(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")
        f11 = 'a'
        f12 = 'b'
        f21 = 'c'

        self.assert_suffixes_matches(comes_after(s1, f11), [(s1, f11)])
        self.assert_suffixes_matches(comes_after(s1), [(s1, f11)])
        self.assert_suffixes_matches_not(~comes_after(s1, f11), [(s1, f11)])
        self.assert_suffixes_matches_not(~comes_after(s1), [(s1, f11)])

        self.assert_suffixes_matches(comes_after(s1, f11), [(s1, f11),
                                                            (s1, f12)])
        self.assert_suffixes_matches(~comes_after(s2, f21), [(s1, f11),
                                                             (s1, f12)])
Ejemplo n.º 6
0
    def test_comes_after_with_logical_operators(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")

        self.assert_suffixes_matches_not(comes_after(s1) & comes_after(s2), None)
        self.assert_suffixes_matches_not(comes_after(s1) | comes_after(s1), None)

        self.assert_suffixes_matches_not(~comes_after(s1), [s1])
        self.assert_suffixes_matches    (~comes_after(s1), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1), [s1, s2])

        self.assert_suffixes_matches_not(comes_after(s1) & comes_after(s2), [s1])
        self.assert_suffixes_matches_not(comes_after(s1) & comes_after(s2), [s2])
        self.assert_suffixes_matches    (comes_after(s1) & comes_after(s2), [s1, s2])

        self.assert_suffixes_matches    (comes_after(s1) | comes_after(s2), [s1])
        self.assert_suffixes_matches    (comes_after(s1) | comes_after(s2), [s2])
        self.assert_suffixes_matches    (comes_after(s1) | comes_after(s2), [s1, s2])

        self.assert_suffixes_matches    (comes_after(s1) | ~comes_after(s2), [s1])
        self.assert_suffixes_matches_not(comes_after(s1) | ~comes_after(s2), [s2])
        self.assert_suffixes_matches    (comes_after(s1) | ~comes_after(s2), [s1, s2])

        self.assert_suffixes_matches    (comes_after(s1) & ~comes_after(s2), [s1])
        self.assert_suffixes_matches_not(comes_after(s1) & ~comes_after(s2), [s2])
        self.assert_suffixes_matches_not(comes_after(s1) & ~comes_after(s2), [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) | comes_after(s2), [s1])
        self.assert_suffixes_matches    (~comes_after(s1) | comes_after(s2), [s2])
        self.assert_suffixes_matches    (~comes_after(s1) | comes_after(s2), [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) & comes_after(s2), [s1])
        self.assert_suffixes_matches    (~comes_after(s1) & comes_after(s2), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) & comes_after(s2), [s1, s2])

        self.assert_suffixes_matches    (~comes_after(s1) | ~comes_after(s2), [s1])
        self.assert_suffixes_matches    (~comes_after(s1) | ~comes_after(s2), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) | ~comes_after(s2), [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2), [s1])
        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2), [s1, s2])
Ejemplo n.º 7
0
    def test_comes_after_with_logical_operators(self):
        s1 = Suffix("S-1")
        s2 = Suffix("S-2")

        self.assert_suffixes_matches_not(
            comes_after(s1) & comes_after(s2), None)
        self.assert_suffixes_matches_not(
            comes_after(s1) | comes_after(s1), None)

        self.assert_suffixes_matches_not(~comes_after(s1), [s1])
        self.assert_suffixes_matches(~comes_after(s1), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1), [s1, s2])

        self.assert_suffixes_matches_not(
            comes_after(s1) & comes_after(s2), [s1])
        self.assert_suffixes_matches_not(
            comes_after(s1) & comes_after(s2), [s2])
        self.assert_suffixes_matches(
            comes_after(s1) & comes_after(s2), [s1, s2])

        self.assert_suffixes_matches(comes_after(s1) | comes_after(s2), [s1])
        self.assert_suffixes_matches(comes_after(s1) | comes_after(s2), [s2])
        self.assert_suffixes_matches(
            comes_after(s1) | comes_after(s2), [s1, s2])

        self.assert_suffixes_matches(comes_after(s1) | ~comes_after(s2), [s1])
        self.assert_suffixes_matches_not(
            comes_after(s1) | ~comes_after(s2), [s2])
        self.assert_suffixes_matches(
            comes_after(s1) | ~comes_after(s2), [s1, s2])

        self.assert_suffixes_matches(comes_after(s1) & ~comes_after(s2), [s1])
        self.assert_suffixes_matches_not(
            comes_after(s1) & ~comes_after(s2), [s2])
        self.assert_suffixes_matches_not(
            comes_after(s1) & ~comes_after(s2), [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) | comes_after(s2),
                                         [s1])
        self.assert_suffixes_matches(~comes_after(s1) | comes_after(s2), [s2])
        self.assert_suffixes_matches(~comes_after(s1) | comes_after(s2),
                                     [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) & comes_after(s2),
                                         [s1])
        self.assert_suffixes_matches(~comes_after(s1) & comes_after(s2), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) & comes_after(s2),
                                         [s1, s2])

        self.assert_suffixes_matches(~comes_after(s1) | ~comes_after(s2), [s1])
        self.assert_suffixes_matches(~comes_after(s1) | ~comes_after(s2), [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) | ~comes_after(s2),
                                         [s1, s2])

        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2),
                                         [s1])
        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2),
                                         [s2])
        self.assert_suffixes_matches_not(~comes_after(s1) & ~comes_after(s2),
                                         [s1, s2])
Ejemplo n.º 8
0
    def _register_ques_explicit_copula(self):

        explicit_ques_copula_precondition = comes_after(self.Decorated_Pres_Ques)

        self.DECORATED_QUESTION_WITH_AGREEMENT.add_out_suffix(self.Cop_Verb, self.DECORATED_QUESTION_WITH_AGREEMENT)
        self.Cop_Ques.add_suffix_form("dIr", precondition=explicit_ques_copula_precondition)