예제 #1
0
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)
예제 #2
0
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)