Added unit test.

This commit is contained in:
jordi.saludes
2010-06-13 19:15:19 +00:00
parent d8c65b9732
commit 3ea00a7331
2 changed files with 40 additions and 11 deletions

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env python
import gf
query = gf.read_pgf("Query.pgf")
lang = gf.read_language('QueryEng')
cat = query.startcat()
print 'start category:', cat
print 'language is:', lang
lexed = "is 2 prime"
print "Parsing '%s':" % lexed
for e in query.parse(lexed, lang):
print '\t',e

View File

@@ -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()