def testEq(self): assert spred('_dog_n_rel') == Pred.realpred(lemma='dog', pos='n') assert spred('_dog_n_rel') == '_dog_n_rel' assert '_dog_n_rel' == Pred.realpred(lemma='dog', pos='n') assert spred('"_dog_n_rel"') == spred("'_dog_n_rel") assert Pred.grammarpred('pron_rel') == 'pron_rel' assert Pred.string_or_grammar_pred('_dog_n_rel') != Pred.string_or_grammar_pred('dog_n_rel') assert (spred('_dog_n_rel') == None) == False
def testEq(self): assert spred('_dog_n_rel') == Pred.realpred(lemma='dog', pos='n') assert spred('_dog_n_rel') == '_dog_n_rel' assert '_dog_n_rel' == Pred.realpred(lemma='dog', pos='n') assert spred('"_dog_n_rel"') == spred("'_dog_n_rel") assert Pred.abstract('pron_rel') == 'pron_rel' assert Pred.surface_or_abstract( '_dog_n_rel') != Pred.surface_or_abstract('dog_n_rel') assert (spred('_dog_n_rel') == None) == False assert spred('_dog_n_1_rel') == spred('_Dog_N_1_rel') assert spred('_dog_n_1_rel') == spred('_dog_n_1')
def testRealPred(self): # basic, no sense arg p = Pred.realpred('dog', 'n') assert p.type == Pred.REALPRED assert p.string == '_dog_n_rel' assert p.lemma == 'dog' assert p.pos == 'n' assert p.sense == None assert p.short_form() == '_dog_n' # try with arg names, unicode, and sense p = Pred.realpred(lemma='犬', pos='n', sense='1') assert p.type == Pred.REALPRED assert p.string == '_犬_n_1_rel' assert p.lemma == '犬' assert p.pos == 'n' assert p.sense == '1' assert p.short_form() == '_犬_n_1' # in case sense is int, not str p = Pred.realpred('dog', 'n', 1) assert p.type == Pred.REALPRED assert p.string == '_dog_n_1_rel' assert p.lemma == 'dog' assert p.pos == 'n' assert p.sense == '1' assert p.short_form() == '_dog_n_1' with pytest.raises(TypeError): Pred.realpred(lemma='dog') with pytest.raises(TypeError): Pred.realpred(pos='n') repr(p) # no error
def _decode_pred(elem): # <!ELEMENT pred (#PCDATA)> # <!ELEMENT spred (#PCDATA)> # <!ELEMENT realpred EMPTY> # <!ATTLIST realpred # lemma CDATA #REQUIRED # pos (v|n|j|r|p|q|c|x|u|a|s) #REQUIRED # sense CDATA #IMPLIED > if elem.tag == 'pred': return Pred.abstract(elem.text) elif elem.tag == 'spred': return Pred.surface(elem.text) elif elem.tag == 'realpred': return Pred.realpred(elem.get('lemma'), elem.get('pos') or None, elem.get('sense'))
def testRealPred(self): # basic, no sense arg p = Pred.realpred('dog', 'n') assert p.type == Pred.REALPRED assert p.string == '_dog_n_rel' assert p.lemma == 'dog' assert p.pos == 'n' assert p.sense == None assert p.short_form() == '_dog_n' # try with arg names, unicode, and sense p = Pred.realpred(lemma='犬', pos='n', sense='1') assert p.type == Pred.REALPRED assert p.string == '_犬_n_1_rel' assert p.lemma == '犬' assert p.pos == 'n' assert p.sense == '1' assert p.short_form() == '_犬_n_1' # in case sense is int, not str p = Pred.realpred('dog', 'n', 1) assert p.type == Pred.REALPRED assert p.string == '_dog_n_1_rel' assert p.lemma == 'dog' assert p.pos == 'n' assert p.sense == '1' assert p.short_form() == '_dog_n_1' # see https://github.com/delph-in/pydelphin/issues/129 p = Pred.realpred('te', None, 'adjunct') assert p.type == Pred.REALPRED assert p.string == '_te_adjunct_rel' assert p.lemma == 'te' assert p.pos == None assert p.sense == 'adjunct' assert p.short_form() == '_te_adjunct' with pytest.raises(TypeError): Pred.realpred(lemma='dog') with pytest.raises(TypeError): Pred.realpred(pos='n') repr(p) # no error