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)