File: test_prolog_reader.py

package info (click to toggle)
hfst 3.16.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,532 kB
  • sloc: cpp: 101,875; sh: 6,717; python: 5,225; yacc: 4,985; lex: 2,900; makefile: 2,017; xml: 6
file content (29 lines) | stat: -rw-r--r-- 657 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
import sys
if len(sys.argv) > 1:
    sys.path.insert(0, sys.argv[1])
import hfst

transducers = []

with open('cats_and_dogs.prolog', 'r') as f:
    r = hfst.PrologReader(f)
    for tr in r:
        transducers.append(tr)

assert(f.closed)
assert(len(transducers)) == 4

transducers = []

with open('cats_and_dogs_fail.prolog', 'r') as f:
    try:
        r = hfst.PrologReader(f)
        for tr in r:
            transducers.append(tr)
    except hfst.exceptions.NotValidPrologFormatException as e:
        assert 'arc(1, 2, "bar").' in e.what()
        assert 'line: 24' in e.what()

assert(f.closed)
assert(len(transducers)) == 4