def test_new_def_type(self): datatype_1 = uter.union((uter.int, "a"), (uter.int, "b")) datatype_2 = uter.union((uter.char, "a"), (uter.char, "b")) dataobj_1 = datatype_1() dataobj_2 = datatype_2() self.assertEqual(True, not datatype_1._MatchObj(4), "") self.assertEqual(True, not datatype_2._MatchObj(4), "") self.assertEqual(True, datatype_1._MatchObj(dataobj_1), "") self.assertEqual(True, not datatype_1._MatchObj(dataobj_2), "") self.assertEqual(True, not datatype_2._MatchObj(dataobj_1), "") self.assertEqual(True, datatype_2._MatchObj(dataobj_2), "")
def test_def(self): datatype = uter.union((uter.int, "a"), (uter.char, "b")) data = datatype() data.a._SetValue(10) data.b._SetValue(11) self.assertEqual(True, 11 == data.a._GetValue(), "") self.assertEqual(True, 11 == data.b._GetValue(), "")
def test_def_type_new_wrong(self): datatype = uter.union((uter.uint, "a"), (uter.uchar, "b")) except_happen = False try: data = datatype("aaaaaa", (1, )) except uter.error.ArgError, e: except_happen = True print e
def test_wrong(self): except_happen = False try: datatype = uter.union(1) print datatype except uter.error.ArgError, e: except_happen = True print e
def test_type_union(self): type = uter.union(("m_1", uter.int), ("m_2", uter.char)) sym = uter.export.symbol("g_noname_un_in_release_so", section = ".data") var = uter.export.dataobject(type, sym.address()) self.assertEqual(True, var.m_1._GetValue() == 0x12345678, "") if uter.target.endian.isbig(): self.assertEqual(True, var.m_2._GetValue() == 0x12, "") else: self.assertEqual(True, var.m_2._GetValue() == 0x78, "")
def test_def_type_new_mem_num(self): datatype = uter.union((uter.uint, "a"), (uter.uchar, "b")) data_a = datatype("a", (4, )) data_b = datatype("b", (4, )) print data_a print data_b self.assertEqual(True, data_a.a._GetValue() == 4, "") self.assertEqual(True, data_a.b._GetValue() == 4, "") self.assertEqual(True, data_b.a._GetValue() == 4, "") self.assertEqual(True, data_b.b._GetValue() == 4, "")
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_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")) print datatype self.assertEqual(True, datatype._GetSize() == 8, "") self.assertEqual(True, datatype._GetAlign() == 4, "") self.assertEqual(True, datatype._DefDesc() == "union (no name) ", "")
def test_match(self): datatype_1 = uter.union((uter.int, "a"), (uter.char, "b")) self.assertEqual(True, datatype_1 != 1, "") datatype_2 = uter.union((uter.int, "a"), (uter.int, "b")) self.assertEqual(True, datatype_2 != 1, "") datatype_3 = uter.union((uter.int, "a"), (uter.char, "b")) self.assertEqual(True, datatype_3 != 1, "") datatype_4 = uter.union([uter.int, "a"], [uter.char, "b"]) self.assertEqual(True, datatype_4 != 1, "") datatype_5 = uter.union([uter.int, "a"], [uter.int, "b"]) self.assertEqual(True, datatype_5 != 1, "") datatype_6 = uter.union([uter.int, "a"], [uter.char, "b"]) self.assertEqual(True, datatype_6 != 1, "") self.assertEqual( True, datatype_1 == datatype_1 and datatype_2 == datatype_2 and datatype_3 == datatype_3, "") self.assertEqual(True, datatype_1 != datatype_2 and datatype_1 == datatype_3, "") self.assertEqual(True, datatype_2 != datatype_1 and datatype_3 == datatype_1, "") self.assertEqual(True, datatype_2 != datatype_3, "") self.assertEqual(True, datatype_3 != datatype_2, "") self.assertEqual(True, datatype_1 == datatype_4, "") self.assertEqual(True, datatype_2 == datatype_5, "") self.assertEqual(True, datatype_3 == datatype_6, "")
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), "")
class test_case_def(unittest.TestCase): def test_wrong(self): except_happen = False try: datatype = uter.union(1) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.union("x") print datatype except uter.error.ArgError, e: except_happen = True print e
except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.union("x") print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.union((1, )) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "") except_happen = False try: datatype = uter.union((uter.int, )) print datatype except uter.error.ArgError, e: except_happen = True print e self.assertEqual(True, except_happen, "")
def test_create(self): datatype_1 = uter.union((uter.int, "a"), (uter.char, "b")) datatype_2 = uter.union([uter.int, "a"], [uter.char, "b"]) print datatype_1 print datatype_2 self.assertEqual(True, True, "")
def test_size(self): datatype = uter.union((uter.int, "a"), (uter.char, "b")) self.assertEqual(4, datatype._GetSize(), "")
def test_def_type_new_maxval(self): datatype = uter.union((uter.uint, "a"), (uter.uchar, "b")) data = datatype("a", (2**32 - 1, )) print data self.assertEqual(True, data.a._GetValue() == 2**32 - 1, "") self.assertEqual(True, data.b._GetValue() == 255, "")
def test_align(self): datatype = uter.union((uter.int, "a"), (uter.char, "b")) self.assertEqual(4, datatype._GetAlign(), "")
def test_def_type_new_mem_noval(self): datatype = uter.union((uter.uint, "a"), (uter.uchar, "b")) data = datatype("a") print data self.assertEqual(True, data.a._GetValue() == 0, "") self.assertEqual(True, data.b._GetValue() == 0, "")
def test_asdef(self): datatype = uter.union((uter.int, "a"), (uter.char, "b")) self.assertEqual("union (no name) ", datatype._DefDesc(), "")