From 3ea00a7331e8e66c22ef62cc3da249e1f279cf35 Mon Sep 17 00:00:00 2001 From: "jordi.saludes" Date: Sun, 13 Jun 2010 19:15:19 +0000 Subject: Added unit test. --- contrib/py-bindings/test.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 contrib/py-bindings/test.py (limited to 'contrib/py-bindings/test.py') 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() -- cgit v1.2.3