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