Added linearization to py-bindings.

This commit is contained in:
jordi.saludes
2010-06-17 07:59:00 +00:00
parent 3ea00a7331
commit 7a485dfc5c
2 changed files with 43 additions and 6 deletions

View File

@@ -2,6 +2,11 @@
import gf
import unittest
samples = [
('is 89 odd',"Odd (Number 89)"),
('is 21 prime',"Prime (Number 21)")]
import re
hexre = re.compile('0x[0-9a-f]+:[ ]*')
def rmprefix(obj):
@@ -11,9 +16,7 @@ def rmprefix(obj):
class TestParsing(unittest.TestCase):
def setUp(self):
self.lexed = [
('is 89 odd',"Odd (Number 89)"),
('is 21 prime',"Prime (Number 21)")]
self.lexed = samples
self.lang = 'QueryEng'
self.pgf = "Query.pgf"
def test_createPgf(self):
@@ -36,5 +39,24 @@ class TestParsing(unittest.TestCase):
pt = rmprefix(ps[0])
self.assertEqual(pt,t)
class TestLinearize(unittest.TestCase):
def setUp(self):
self.samples = samples
self.pgf = gf.read_pgf('Query.pgf')
self.lang = gf.read_language('QueryEng')
def test_Linearize(self):
l = self.lang
for s,t in self.samples:
t = self.pgf.parse(s, l)[0]
self.assertEqual(s,self.pgf.lin(l,t))
if __name__ == '__main__':
unittest.main()
if 0:
q = gf.read_pgf('Query.pgf')
l = gf.read_language('QueryEng')
ts = q.parse('is 10 prime', l)
print ts[0]
print q.lin(l,ts[0])