def test_subannotations(subannotation_config): with CorpusContext(subannotation_config) as c: q = c.query_graph(c.phone).columns(c.phone.voicing_during_closure.id.column_name('voicing_ids')) res = q.all() for x in res: if len(x['voicing_ids']) > 0: id = x['voicing_ids'][0] break model = SubAnnotation(c) model.load(id) assert(model._type == 'voicing_during_closure') assert(round(model.duration, 2) == 0.03)
def test_add_subannotation(subannotation_config): with CorpusContext(subannotation_config) as c: q = c.query_graph(c.phone).order_by(c.phone.id) q = q.columns(c.phone.id.column_name('id')) res = q.all() id = res[0]['id'] model = LinguisticAnnotation(c) model.load(id) assert(model.voicing_during_closure == []) model.add_subannotation('voicing_during_closure', begin = 100, end = 101) model.save() print(model._subannotations) print(model.voicing_during_closure) assert(model.voicing_during_closure[0].begin == 100) id = model.voicing_during_closure[0].id submodel = SubAnnotation(c) submodel.load(id) submodel.update_properties(begin = 99) submodel.save() q = c.query_graph(c.phone).order_by(c.phone.id) res = q.all() id = res[0]['id'] model = LinguisticAnnotation(c) model.load(id) assert(model.voicing_during_closure[0].begin == 99)