diff options
| author | jordi.saludes <jordi.saludes@upc.edu> | 2010-06-13 19:15:19 +0000 |
|---|---|---|
| committer | jordi.saludes <jordi.saludes@upc.edu> | 2010-06-13 19:15:19 +0000 |
| commit | 3ea00a7331e8e66c22ef62cc3da249e1f279cf35 (patch) | |
| tree | c9d0693e081595695c8f2fa4b0eec1504fe6206c /contrib/py-bindings/test.py | |
| parent | d8c65b97329baee16351cd2043e3f07d26fe723b (diff) | |
Added unit test.
Diffstat (limited to 'contrib/py-bindings/test.py')
| -rw-r--r-- | contrib/py-bindings/test.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/contrib/py-bindings/test.py b/contrib/py-bindings/test.py new file mode 100644 index 000000000..a4e8edf3b --- /dev/null +++ b/contrib/py-bindings/test.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python +import gf +import unittest + +import re +hexre = re.compile('0x[0-9a-f]+:[ ]*') +def rmprefix(obj): + s = `obj` + m = hexre.match(s) + return m and s[m.end(0):] + +class TestParsing(unittest.TestCase): + def setUp(self): + self.lexed = [ + ('is 89 odd',"Odd (Number 89)"), + ('is 21 prime',"Prime (Number 21)")] + self.lang = 'QueryEng' + self.pgf = "Query.pgf" + def test_createPgf(self): + q = gf.read_pgf(self.pgf) + self.assertNotEqual(q,None) + def test_startcat(self): + pgf = gf.read_pgf(self.pgf) + cat = pgf.startcat() + self.assertEqual(rmprefix(cat),'Question') + def test_createLanguage(self): + l = gf.read_language(self.lang) + self.assertEqual(rmprefix(l),self.lang) + def test_parse(self): + s = self.lexed[0] + pgf = gf.read_pgf(self.pgf) + l = gf.read_language(self.lang) + for s,t in self.lexed: + ps = pgf.parse(s, l) + self.failUnless(ps) + pt = rmprefix(ps[0]) + self.assertEqual(pt,t) + +if __name__ == '__main__': + unittest.main() |
