import unittest import vdebug.dbgp import xml.etree.ElementTree as ET class ContextPropertyDefaultTest(unittest.TestCase): def __get_context_property(self,xml_string): xml = ET.fromstring(xml_string) firstnode = xml[0] return vdebug.dbgp.ContextProperty(firstnode) def test_single_property(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'$argc') self.assertEqual(prop.value,'4') self.assertEqual(prop.type,'int') self.assertEqual(prop.depth,0) self.assertIsNone(prop.size) self.assertFalse(prop.has_children) def test_undefined_property(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'$uid') self.assertEqual(prop.value,'') self.assertEqual(prop.type,'uninitialized') self.assertEqual(prop.depth,0) self.assertIsNone(prop.size) self.assertFalse(prop.has_children) def test_child_properties(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'$argv') self.assertEqual(prop.value,'') self.assertEqual(prop.type,'array') self.assertEqual(prop.depth,0) self.assertTrue(prop.has_children) self.assertEqual(prop.child_count(),4) class ContextPropertyAltTest(unittest.TestCase): def __get_context_property(self,xml_string): xml = ET.fromstring(xml_string) firstnode = xml[0] return vdebug.dbgp.ContextProperty(firstnode) def test_single_property(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'myvar') self.assertEqual(prop.value,'1') self.assertEqual(prop.type,'int') self.assertEqual(prop.depth,0) self.assertFalse(prop.has_children) def test_child_properties(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'mylist') self.assertEqual(prop.value,'') self.assertEqual(prop.type,'list') self.assertEqual(prop.depth,0) self.assertTrue(prop.has_children) self.assertEqual(prop.child_count(),3) def test_string(self): prop = self.__get_context_property(\ """ """) self.assertEqual(prop.display_name,'obj.obj_var') self.assertEqual(prop.value,'`world`') self.assertEqual(prop.type,'str') self.assertFalse(prop.has_children)