def testGpred(self): p = Pred.abstract('pron_rel') assert p.type == Pred.ABSTRACT assert p.string == 'pron_rel' assert p.lemma == 'pron' assert p.pos == None assert p.sense == None assert p.short_form() == 'pron' p = Pred.abstract('udef_q_rel') assert p.string == 'udef_q_rel' assert p.lemma == 'udef' assert p.pos == 'q' assert p.sense == None assert p.short_form() == 'udef_q' p = Pred.abstract('udef_q') assert p.string == 'udef_q' assert p.lemma == 'udef' assert p.pos == 'q' assert p.sense == None assert p.short_form() == 'udef_q' p = Pred.abstract('abc_def_ghi_rel') assert p.type == Pred.ABSTRACT assert p.string == 'abc_def_ghi_rel' # pos must be a single character, so we get abc_def, ghi, rel assert p.lemma == 'abc_def' assert p.pos == None assert p.sense == 'ghi' assert p.short_form() == 'abc_def_ghi' repr(p) # no error
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 _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'))