Go to the documentation of this file.00001
00002
00003
00004
00005 import os
00006 import rospkg
00007 import rospy
00008 import unittest
00009
00010 from julius_ros.utils import make_grammar_from_rules
00011 from julius_ros.utils import make_voca_from_categories
00012 from julius_ros.utils import make_dfa
00013 from julius_ros.utils import load_grammar
00014
00015
00016 PKG = rospkg.RosPack().get_path("julius_ros")
00017
00018
00019 class TestGrammar(unittest.TestCase):
00020 def test_load_grammar(self):
00021 self.assertTrue(os.path.join(PKG, "data", "udon.grammar"))
00022 self.assertTrue(os.path.join(PKG, "data", "udon.voca"))
00023 g = load_grammar(os.path.join(PKG, "data"), "udon")
00024 self.assertIsNotNone(g)
00025
00026 def test_grammar(self):
00027 g = load_grammar(os.path.join(PKG, "data"), "udon")
00028 gram = make_grammar_from_rules(g.rules)
00029 self.assertIsNotNone(gram)
00030
00031 def test_voca(self):
00032 g = load_grammar(os.path.join(PKG, "data"), "udon")
00033 voca = make_voca_from_categories(g.categories, g.vocabularies)
00034 self.assertIsNotNone(voca)
00035
00036 def test_dfa(self):
00037 g = load_grammar(os.path.join(PKG, "data"), "udon")
00038 gram = make_grammar_from_rules(g.rules)
00039 voca = make_voca_from_categories(g.categories, g.vocabularies)
00040 result = make_dfa(gram, voca)
00041 self.assertIsNotNone(result)
00042 self.assertEqual(len(result), 2)
00043
00044
00045 if __name__ == '__main__':
00046 import rostest
00047 rospy.init_node("test_grammar")
00048 rostest.rosrun("julius_ros", "test_grammar", TestGrammar)