def test_construction(self):
        dt = DataType()
        dt.set_id(DataType.name_to_id("uint32"))
        dt.set_number_of_elements(10)
        dt.set_offset(0)
        dt.set_stride(4)
        dt.set_element_bytes(4)

        dt2 = DataType(dt)
        self.assertEqual(dt.id(), dt2.id())
        self.assertEqual(dt.number_of_elements(), dt2.number_of_elements())
        self.assertEqual(dt.offset(), dt2.offset())
        self.assertEqual(dt.stride(), dt2.stride())
        self.assertEqual(dt.element_bytes(), dt2.element_bytes())
        self.assertEqual(dt.endianness(), dt2.endianness())

        dt3 = DataType()
        dt3.set(dtype_name="uint32",
                num_elements=10,
                offset=0,
                stride=4,
                element_bytes=4)
        self.assertEqual(dt2.id(), dt3.id())
        self.assertEqual(dt2.number_of_elements(), dt3.number_of_elements())
        self.assertEqual(dt2.offset(), dt3.offset())
        self.assertEqual(dt2.stride(), dt3.stride())
        self.assertEqual(dt2.element_bytes(), dt3.element_bytes())
        self.assertEqual(dt2.endianness(), dt3.endianness())

        print(dt)
        print(dt2)
        print(dt3)
 def test_explicit_set(self):
     d = DataType()
     d.set(dtype_id=DataType.name_to_id("uint32"),
           num_elements=1,
           offset=0,
           stride=4,
           element_bytes=4)
     print(d)
     self.assertEqual(d.id(), DataType.name_to_id("uint32"))
     self.assertEqual(d.number_of_elements(), 1)
     self.assertEqual(d.offset(), 0)
     self.assertEqual(d.stride(), 4)
     self.assertEqual(d.element_bytes(), 4)
     self.assertEqual(d.endianness(), 0)