# # # import unittest import target import pykd class TypeInfoTest( unittest.TestCase ): def testCtor( self ): """ typeInfo class can not be created direct """ try: pykd.typeInfo() except RuntimeError: pass def testCreateByName( self ): """ creating typeInfo by the type name """ ti1 = target.module.type( "structTest" ) ti2 = target.module.type( "classChild" ) def testGetField( self ): """ get field of the complex type """ ti1 = target.module.type( "structTest" ) self.assertTrue( hasattr( ti1, "m_field0" ) ) try: hasattr(ti1, "m_field4" ) # non-exsisting field except pykd.DiaException: pass def testName( self ): ti1 = target.module.type( "classChild" ) self.assertEqual( "classChild", ti1.name() ) self.assertEqual( "Int", ti1.m_childField.name() ) self.assertEqual( "structTest", ti1.m_childField3.name() ) def testOffset( self ): ti1 = target.module.type( "structTest" ) self.assertEqual( 0, ti1.m_field0.offset() ) self.assertEqual( 4, ti1.m_field1.offset() ) self.assertEqual( 12, ti1.m_field2.offset() ) self.assertEqual( 14, ti1.m_field3.offset() ) def testSize( self ): ti1 = target.module.type( "structTest" ) self.assertEqual( 16, ti1.size() )