def test_new_def_type_def_val(self): datatype_1 = uter.struct((uter.char, "a"), (uter.int, "b")) dataobj_1 = datatype_1() print dataobj_1 self.assertEqual(True, dataobj_1.a._GetValue() == 0, "") datatype_2 = uter.struct((uter.char, "a"), (uter.short, "b"), (uter.int, "c")) dataobj_2 = datatype_2() print dataobj_2 self.assertEqual(True, dataobj_2.a._GetValue() == 0, "") self.assertEqual(True, dataobj_2.b._GetValue() == 0, "") self.assertEqual(True, dataobj_2.c._GetValue() == 0, "") datatype_3 = uter.struct((uter.char, "a"), (uter.char, "b")) dataobj_3 = datatype_3() print dataobj_3 self.assertEqual(True, dataobj_3.a._GetValue() == 0, "") self.assertEqual(True, dataobj_3.b._GetValue() == 0, "") datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.char, "c"), (uter.char, "d")) dataobj_4 = datatype_4() print dataobj_4 self.assertEqual(True, dataobj_4.a._GetValue() == 0, "") self.assertEqual(True, dataobj_4.b._GetValue() == 0, "") self.assertEqual(True, dataobj_4.c._GetValue() == 0, "") self.assertEqual(True, dataobj_4.d._GetValue() == 0, "")
def test_new_def_type_obj_val(self): datatype_1 = uter.struct((uter.char, "a"), (uter.int, "b")) dataobj_1 = datatype_1(uter.char(8), uter.int(9)) print dataobj_1 self.assertEqual(True, dataobj_1.a._GetValue() == 8, "") self.assertEqual(True, dataobj_1.b._GetValue() == 9, "") datatype_2 = uter.struct((uter.char, "a"), (uter.short, "b"), (uter.int, "c")) dataobj_2 = datatype_2(uter.char(10), uter.short(11), uter.int(12)) print dataobj_2 self.assertEqual(True, dataobj_2.a._GetValue() == 10, "") self.assertEqual(True, dataobj_2.b._GetValue() == 11, "") self.assertEqual(True, dataobj_2.c._GetValue() == 12, "") datatype_3 = uter.struct((uter.char, "a"), (uter.char, "b")) dataobj_3 = datatype_3(uter.char(13), uter.char(14)) print dataobj_3 self.assertEqual(True, dataobj_3.a._GetValue() == 13, "") self.assertEqual(True, dataobj_3.b._GetValue() == 14, "") datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.char, "c"), (uter.char, "d")) dataobj_4 = datatype_4(uter.int(15), uter.char(16), uter.char(17), uter.char(18)) print dataobj_4 self.assertEqual(True, dataobj_4.a._GetValue() == 15, "") self.assertEqual(True, dataobj_4.b._GetValue() == 16, "") self.assertEqual(True, dataobj_4.c._GetValue() == 17, "") self.assertEqual(True, dataobj_4.d._GetValue() == 18, "")
def test_new_def_type_num_val(self): datatype_1 = uter.struct((uter.char, "a"), (uter.int, "b")) dataobj_1 = datatype_1(8, 9) print dataobj_1 self.assertEqual(True, dataobj_1.a._GetValue() == 8, "") self.assertEqual(True, dataobj_1.b._GetValue() == 9, "") datatype_2 = uter.struct((uter.char, "a"), (uter.short, "b"), (uter.int, "c")) dataobj_2 = datatype_2(10, 11, 12) print dataobj_2 self.assertEqual(True, dataobj_2.a._GetValue() == 10, "") self.assertEqual(True, dataobj_2.b._GetValue() == 11, "") self.assertEqual(True, dataobj_2.c._GetValue() == 12, "") datatype_3 = uter.struct((uter.char, "a"), (uter.char, "b")) dataobj_3 = datatype_3(13, 14) print dataobj_3 self.assertEqual(True, dataobj_3.a._GetValue() == 13, "") self.assertEqual(True, dataobj_3.b._GetValue() == 14, "") datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.char, "c"), (uter.char, "d")) dataobj_4 = datatype_4(15, 16, 17, 18) print dataobj_4 self.assertEqual(True, dataobj_4.a._GetValue() == 15, "") self.assertEqual(True, dataobj_4.b._GetValue() == 16, "") self.assertEqual(True, dataobj_4.c._GetValue() == 17, "") self.assertEqual(True, dataobj_4.d._GetValue() == 18, "")
def test_def_type(self): datatypein1 = uter.struct((uter.int, "a"), (uter.int, "b")) datatypein2 = uter.struct((uter.char, "a"), (uter.char, "b")) datatype = uter.struct((datatypein1, "m_1"), (datatypein2, "m_2"), (uter.int, "m_3")) print datatype self.assertEqual(True, datatype._GetSize() == 16, "") self.assertEqual(True, datatype._GetAlign() == 4, "") self.assertEqual(True, datatype._DefDesc() == "struct (no name) ", "")
def test_def_type_1(self): datatypein1 = uter.struct((uter.int, "a"), (uter.int, "b")) datatypein2 = uter.struct((uter.char, "a"), (uter.char, "b")) datatype = uter.struct((datatypein1, "m_1"), (datatypein2, "m_2"), (uter.int, "m_3")) datatypem1 = datatype.m_1 print datatypem1 self.assertEqual(True, datatypem1._MatchType(datatypein1), "") self.assertEqual(True, datatypein1._MatchType(datatypem1), "")
def test_align(self): datatype_1 = uter.struct((uter.char, "a"), (uter.char, "b")) datatype_2 = uter.struct((uter.int, "a"), (uter.char, "b")) datatype_3 = uter.struct((uter.int, "a"), (uter.int, "b")) datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.int, "c")) self.assertEqual(True, datatype_1._GetAlign() == 1, "") self.assertEqual(True, datatype_2._GetAlign() == 4, "") self.assertEqual(True, datatype_3._GetAlign() == 4, "") self.assertEqual(True, datatype_4._GetAlign() == 4, "")
def test_def_type_new(self): datatype_1 = uter.struct((uter.char, "a"), (uter.int, "b")) dataobj_1 = datatype_1() self.assertEqual(True, datatype_1._MatchObj(dataobj_1), "") self.assertEqual(True, not datatype_1._MatchObj(4), "") datatype_2 = uter.struct((uter.char, "a"), (uter.short, "b"), (uter.int, "c")) dataobj_2 = datatype_2() self.assertEqual(True, datatype_2._MatchObj(dataobj_2), "") self.assertEqual(True, not datatype_2._MatchObj(4), "") datatype_3 = uter.struct((uter.char, "a"), (uter.char, "b")) dataobj_3 = datatype_3() self.assertEqual(True, datatype_3._MatchObj(dataobj_3), "") self.assertEqual(True, not datatype_3._MatchObj(4), "") datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.char, "c"), (uter.char, "d")) dataobj_4 = datatype_4() self.assertEqual(True, datatype_4._MatchObj(dataobj_4), "") self.assertEqual(True, not datatype_4._MatchObj(4), "") datatype_5 = uter.struct((uter.char, "a"), (uter.int, "b")) dataobj_5 = datatype_5() self.assertEqual(True, datatype_5._MatchObj(dataobj_5), "") self.assertEqual(True, not datatype_5._MatchObj(4), "") self.assertEqual( True, not datatype_1._MatchObj(dataobj_2) and not datatype_1._MatchObj(dataobj_3) and not datatype_1._MatchObj(dataobj_4) and datatype_1._MatchObj(dataobj_5), "") self.assertEqual( True, not datatype_2._MatchObj(dataobj_1) and not datatype_2._MatchObj(dataobj_3) and not datatype_2._MatchObj(dataobj_4) and not datatype_2._MatchObj(dataobj_5), "") self.assertEqual( True, not datatype_3._MatchObj(dataobj_1) and not datatype_3._MatchObj(dataobj_2) and not datatype_3._MatchObj(dataobj_4) and not datatype_3._MatchObj(dataobj_5), "") self.assertEqual( True, not datatype_4._MatchObj(dataobj_1) and not datatype_4._MatchObj(dataobj_2) and not datatype_4._MatchObj(dataobj_3) and not datatype_4._MatchObj(dataobj_5), "") self.assertEqual( True, datatype_5._MatchObj(dataobj_1) and not datatype_5._MatchObj(dataobj_2) and not datatype_5._MatchObj(dataobj_3) and not datatype_5._MatchObj(dataobj_4), "")
def test_def_type(self): datatypein1 = uter.struct((uter.int, "a"), (uter.int, "b")) datatypein2 = uter.int datatypein3 = uter.struct((uter.char, "a"), (uter.char, "b"), (uter.char, "c"), (uter.char, "d")) datatype = uter.union((datatypein1, "m_1"), (datatypein2, "m_2"), (datatypein3, "m_3"), (uter.int, "m_4")) datatypem1 = datatype.m_1 print datatypem1 datatypem2 = datatype.m_2 print datatypem2 self.assertEqual(True, datatypem1._MatchType(datatypein1), "") self.assertEqual(True, datatypem2._MatchType(datatypein2), "")
def test_match(self): datatype_1 = uter.struct((uter.char, "a"), (uter.char, "b")) self.assertEqual(True, datatype_1 != 1, "") datatype_2 = uter.struct((uter.int, "a"), (uter.char, "b")) self.assertEqual(True, datatype_2 != 1, "") datatype_3 = uter.struct((uter.int, "a"), (uter.int, "b")) self.assertEqual(True, datatype_3 != 1, "") datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.int, "c")) self.assertEqual(True, datatype_4 != 1, "") datatype_5 = uter.struct((uter.char, "a"), (uter.char, "b")) self.assertEqual(True, datatype_5 != 1, "") datatype_6 = uter.struct([uter.char, "a"], [uter.char, "b"]) self.assertEqual(True, datatype_6 != 1, "") datatype_7 = uter.struct([uter.int, "a"], [uter.char, "b"]) self.assertEqual(True, datatype_7 != 1, "") datatype_8 = uter.struct([uter.int, "a"], [uter.int, "b"]) self.assertEqual(True, datatype_8 != 1, "") datatype_9 = uter.struct([uter.int, "a"], [uter.char, "b"], [uter.int, "c"]) self.assertEqual(True, datatype_9 != 1, "") datatype_10 = uter.struct([uter.char, "a"], [uter.char, "b"]) self.assertEqual(True, datatype_10 != 1, "") self.assertEqual( True, datatype_1 == datatype_1 and datatype_2 == datatype_2 and datatype_3 == datatype_3 and datatype_4 == datatype_4 and datatype_5 == datatype_5, "") self.assertEqual( True, datatype_1 != datatype_2 and datatype_1 != datatype_3 and datatype_1 != datatype_4 and datatype_1 == datatype_5, "") self.assertEqual( True, datatype_2 != datatype_1 and datatype_3 != datatype_1 and datatype_4 != datatype_1 and datatype_5 == datatype_1, "") self.assertEqual( True, datatype_2 != datatype_3 and datatype_2 != datatype_4 and datatype_2 != datatype_5, "") self.assertEqual( True, datatype_3 != datatype_2 and datatype_4 != datatype_2 and datatype_5 != datatype_2, "") self.assertEqual(True, datatype_3 != datatype_4 and datatype_3 != datatype_5, "") self.assertEqual(True, datatype_4 != datatype_3 and datatype_5 != datatype_3, "") self.assertEqual(True, datatype_4 != datatype_5, "") self.assertEqual(True, datatype_5 != datatype_4, "") self.assertEqual( True, datatype_1 == datatype_6 and datatype_2 == datatype_7 and datatype_3 == datatype_8 and datatype_4 == datatype_9 and datatype_5 == datatype_10, "")
def test_def_type(self): datatype = uter.struct((uter.int, "a"), (uter.char, "b")) data = datatype() data.a._SetValue(10) data.b._SetValue(11) self.assertEqual(True, 10 == data.a._GetValue() and 11 == data.b._GetValue(), "")
def test_wrong(self): except_happen = False try: datatype = uter.struct(1) print datatype except uter.error.ArgError, e: except_happen = True print e
def test_def_st(self): sttype_1 = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype_1 = uter.point(sttype_1) self.assertEqual(True, pointtype_1._GetFinalType() == sttype_1, "") sttype_2 = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype_2 = uter.point(sttype_2) self.assertEqual(True, pointtype_2._GetFinalType() == sttype_2, "") sttype_3 = uter.struct((uter.int, "a"), (uter.char, "b")) pointtype_3 = uter.point(sttype_3) self.assertEqual(True, pointtype_3._GetFinalType() == sttype_3, "") self.assertEqual(True, pointtype_1 == pointtype_2, "") self.assertEqual(True, pointtype_2 == pointtype_1, "") self.assertEqual(True, pointtype_1 != pointtype_3, "") self.assertEqual(True, pointtype_3 != pointtype_1, "") self.assertEqual(True, pointtype_2 != pointtype_3, "") self.assertEqual(True, pointtype_3 != pointtype_2, "")
def test_def_1(self): sttype = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype = uter.point(sttype) ppointtype = uter.point(pointtype) ppointdata = ppointtype() print ppointtype print ppointdata self.assertEqual(True, True, "")
def test_new_def_type_wrong(self): except_happen = False try: datatype = uter.struct((uter.char, "a"), (uter.int, "b")) data = datatype(1) val = data.b._GetValue() except uter.error.ArgError, e: except_happen = True print e
def test_new(self): datatype_1 = uter.export.typedef("typedef_uint") sttype = uter.struct((uter.int, "a"), (uter.int, "b")) datatype_2 = uter.typedef(sttype, "test") data_1 = datatype_1() data_2 = datatype_2() self.assertEqual(True, uter.uint._MatchObj(data_1), "") self.assertEqual(True, datatype_1._MatchObj(data_1), "") self.assertEqual(True, sttype._MatchObj(data_2), "") self.assertEqual(True, datatype_2._MatchObj(data_2), "")
def test_def(self): datatype_1 = uter.typedef(uter.int, "test") sttype = uter.struct((uter.int, "a"), (uter.int, "b")) datatype_2 = uter.typedef(sttype, "test") print datatype_1 print datatype_2 self.assertEqual(True, uter.int == datatype_1, "") self.assertEqual(True, datatype_1 == uter.int, "") self.assertEqual(True, sttype == datatype_2, "") self.assertEqual(True, datatype_2 == sttype, "")
def test_type_struct(self): type = uter.struct(("m_1", uter.int), ("m_2", uter.char)) sym = uter.export.symbol("g_noname_st_in_release_so", section = ".data") var = uter.export.dataobject(type, sym.address()) self.assertEqual(True, var.m_1._GetValue() == 3, "") self.assertEqual(True, var.m_2._GetValue() == 5, "") sym = uter.export.symbol("g_st_in_release_so", section = ".data") var = uter.export.dataobject(type, sym.address()) self.assertEqual(True, var.m_1._GetValue() == 3, "") self.assertEqual(True, var.m_2._GetValue() == 5, "")
def test_all(self): self.assertEqual(True, type(uter.char) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.uchar) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.short) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.ushort) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.int) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.uint) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.long) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.ulong) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.longlong) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.ulonglong) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.float) is uter._UterMetaClass, "") self.assertEqual(True, type(uter.double) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(uter.char, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.uchar, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.short, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.ushort, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.int, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.uint, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.long, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.ulong, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.longlong, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.ulonglong, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.float, uter._UterMetaClass), "") self.assertEqual(True, isinstance(uter.double, uter._UterMetaClass), "") datatype = uter.struct((uter.char, "a"), (uter.char, "b")) self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "") datatype = uter.union((uter.char, "a"), (uter.char, "b")) self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "") datatype = uter.enum(("a", 1), ("b", 3)) self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "") datatype = uter.point(uter.int) self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "") datatype = uter.array(uter.int, 8) self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "") datatype = uter.typedef(uter.int, "xxx") self.assertEqual(True, type(datatype) is uter._UterMetaClass, "") self.assertEqual(True, isinstance(datatype, uter._UterMetaClass), "")
def test_astype(self): uintdata = uter.uint(0x12345678) print uintdata dt = uter.struct((uter.uchar, "a"), (uter.uchar, "b"), (uter.uchar, "c"), (uter.uchar, "d")) print dt stdata = uintdata._AsType(dt) print stdata self.assertEqual(True, stdata.a._GetValue() == 0x78, "") self.assertEqual(True, stdata.b._GetValue() == 0x56, "") self.assertEqual(True, stdata.c._GetValue() == 0x34, "") self.assertEqual(True, stdata.d._GetValue() == 0x12, "")
def test_def_type_new(self): sttype = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype = uter.point(sttype) todata = sttype() pointdata_1 = pointtype() print pointdata_1 self.assertEqual(True, pointtype._MatchType(pointdata_1._GetType()), "") self.assertEqual(True, pointdata_1._GetValue() == 0, "") pointdata_2 = pointtype(0x12345678) print pointdata_2 self.assertEqual(True, pointdata_2._GetValue() == 0x12345678, "") pointdata_3 = pointtype(pointdata_2) print pointdata_3 self.assertEqual(True, pointdata_3._GetValue() == 0x12345678, "")
def test_size(self): datatype_1 = uter.struct((uter.char, "a"), (uter.char, "b")) datatype_2 = uter.struct((uter.int, "a"), (uter.char, "b")) datatype_3 = uter.struct((uter.int, "a"), (uter.int, "b")) datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.int, "c")) datatype_5 = uter.struct([uter.char, "a"], [uter.char, "b"]) datatype_6 = uter.struct([uter.int, "a"], [uter.char, "b"]) datatype_7 = uter.struct([uter.int, "a"], [uter.int, "b"]) datatype_8 = uter.struct([uter.int, "a"], [uter.char, "b"], [uter.int, "c"]) self.assertEqual(True, datatype_1._GetSize() == 2, "") self.assertEqual(True, datatype_2._GetSize() == 8, "") self.assertEqual(True, datatype_3._GetSize() == 8, "") self.assertEqual(True, datatype_4._GetSize() == 12, "") self.assertEqual(True, datatype_5._GetSize() == 2, "") self.assertEqual(True, datatype_6._GetSize() == 8, "") self.assertEqual(True, datatype_7._GetSize() == 8, "") self.assertEqual(True, datatype_8._GetSize() == 12, "")
class test_case_def(unittest.TestCase): def test_wrong(self): except_happen = False try: datatype = uter.struct(1) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.struct("x") print datatype except uter.error.ArgError, e: except_happen = True print e
def test_create(self): datatype_1 = uter.struct((uter.char, "a"), (uter.char, "b")) print datatype_1 datatype_2 = uter.struct((uter.int, "a"), (uter.char, "b")) print datatype_2 datatype_3 = uter.struct((uter.int, "a"), (uter.int, "b")) print datatype_3 datatype_4 = uter.struct((uter.int, "a"), (uter.char, "b"), (uter.int, "c")) print datatype_4 datatype_5 = uter.struct([uter.char, "a"], [uter.char, "b"]) print datatype_5 datatype_6 = uter.struct([uter.int, "a"], [uter.char, "b"]) print datatype_6 datatype_7 = uter.struct([uter.int, "a"], [uter.int, "b"]) print datatype_7 datatype_8 = uter.struct([uter.int, "a"], [uter.char, "b"], [uter.int, "c"]) print datatype_8 self.assertEqual(True, True, "")
def test_datablock(self): datablock = uter.memory.auto(24) for item in range(12): datablock[item]._SetValue(0x55) for item in range(12, 24): datablock[item]._SetValue(0x66) sttype = uter.struct((uter.uint, "a"), (uter.uint, "b"), (uter.ushort, "c")) print sttype stdata1 = datablock._AsType(sttype) print stdata1 stdata2 = datablock[sttype._GetSize()]._AsType(sttype) print stdata2 self.assertEqual(True, stdata1.a._GetValue() == 0x55555555, "") self.assertEqual(True, stdata1.b._GetValue() == 0x55555555, "") self.assertEqual(True, stdata1.c._GetValue() == 0x5555, "") self.assertEqual(True, stdata2.a._GetValue() == 0x66666666, "") self.assertEqual(True, stdata2.b._GetValue() == 0x66666666, "") self.assertEqual(True, stdata2.c._GetValue() == 0x6666, "")
except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.struct("x") print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.struct((1, )) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.struct((uter.int, )) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "")
def test_num_val(self): sttype = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype = uter.point(sttype) pointdata = pointtype() pointdata._SetValue(0x12345678) self.assertEqual(True, pointdata._GetValue() == 0x12345678, "")
def test_def_val(self): sttype = uter.struct((uter.int, "a"), (uter.int, "b")) pointtype = uter.point(sttype) pointdata = pointtype() self.assertEqual(True, pointdata._GetValue() == 0, "")
def test_asdef(self): datatype = uter.struct((uter.int, "a"), (uter.char, "b")) self.assertEqual("struct (no name) ", datatype._DefDesc(), "")