XmlHandler_Testing.py
Go to the documentation of this file.
00001 import os, sys
00002 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
00003 # Import modification to allow the import of XMLHandler
00004 ## TODO: refactor test names to fit convention
00005 import rospkg
00006 import unittest
00007 import xml.etree.ElementTree as ET
00008 import XmlHandler as xml
00009 
00010 
00011 class XmlHandler_Testing(unittest.TestCase):
00012     def setUp(self):
00013         self.xml_dir = rospkg.RosPack().get_path('tele_dir') + "/src/Configs/"
00014         self.topic = ET.Element("topic", {'id': '1'} )
00015         name = ET.Element("name")
00016         msg_type = ET.Element("msg_type")
00017         name.text = "/cmd_vel"
00018         msg_type.text = "std_msgs/Empty"
00019         self.topic.insert(0,name)
00020         self.topic.insert(1,msg_type)
00021 
00022         self.buttons = ET.Element("buttons")
00023         button = ET.Element("button")
00024         key = ET.Element("key")
00025         key.text = 'F'
00026         b_message = ET.Element("message")
00027         b_message.text = '1'
00028         b_topic = ET.Element("topic")
00029         b_topic.text = '1'
00030 
00031         self.message = ET.Element("message", {'id': '1'})
00032         message_description = ET.Element("description")
00033         message_description.text = "Turn on"
00034         message_type = ET.Element("type")
00035         message_type.text = "std_msgs/Empty"
00036         message_content = ET.Element("content")
00037         message_content.text = ""
00038         self.message.insert(0, message_description)
00039         self.message.insert(1, message_type)
00040         self.message.insert(2, message_content)
00041 
00042         button.insert(0, key)
00043         button.insert(1, b_message)
00044         button.insert(2, b_topic)
00045         self.buttons.insert(0, button)
00046 
00047     def test_has_button(self):
00048         self.assertEqual(1, len(self.buttons.findall("button")))
00049 
00050     def test_delete_key_by_topic(self):
00051         list = xml.delete_key_by_topic(self.topic, self.buttons)
00052         self.assertEqual(1, len(list))
00053         self.assertEqual(0, len(self.buttons.findall("button")))
00054 
00055     def test_delete_key_by_message(self):
00056         list = xml.delete_key_by_message(self.message, self.buttons)
00057         self.assertEqual(1, len(list))
00058         self.assertEqual(0, len(self.buttons.findall("button")))
00059 
00060     def test_create_message(self):
00061         test_message = xml.createMessage(1, "Turn on", "std_msgs/Empty", "")
00062         self.assertEqual(self.message.attrib['id'], test_message.attrib['id'])
00063         self.assertEqual(self.message.find('description').text, test_message.find('description').text)
00064         self.assertEqual(self.message.find('type').text, test_message.find('type').text)
00065         self.assertEqual(self.message.find('content').text, test_message.find('content').text)
00066 
00067     def test_create_topic(self):
00068         test_topic = xml.createTopic(1, "/cmd_vel", "std_msgs/Empty")
00069         self.assertEqual(self.topic.attrib['id'], test_topic.attrib['id'])
00070         self.assertEqual(self.topic.find('name').text, test_topic.find('name').text)
00071         self.assertEqual(self.topic.find('msg_type').text, test_topic.find('msg_type').text)
00072 
00073     def test_validator(self):
00074         tree = ET.ElementTree()
00075         file = ET.Element("xml")
00076         tree._setroot(file)
00077         self.assertEquals(True ,xml.xml_validator(self.xml_dir + "default_config.xml"))
00078         self.assertEqual(False, xml.validator(tree))
00079 
00080 
00081 if __name__ == '__main__':
00082     unittest.main()


tele_dir
Author(s): Rodrigo Delgado , Steffan Wiche
autogenerated on Thu Jun 6 2019 17:32:56