code: def testHandle(self):
      objects = self.objects[:]
      objects += [
          MPI.INT,
          MPI.FLOAT,
          MPI.Request(MPI.REQUEST_NULL),
          MPI.Prequest(MPI.REQUEST_NULL),
          MPI.Grequest(MPI.REQUEST_NULL),
          MPI.INFO_ENV,
          MPI.GROUP_EMPTY,
          MPI.ERRORS_RETURN,
          MPI.ERRORS_ABORT,
          MPI.ERRORS_ARE_FATAL,
          MPI.COMM_SELF,
          MPI.COMM_WORLD,
      ]
      for obj in objects:
          if isinstance(obj, MPI.Status):
              continue
          self.assertGreaterEqual(obj.handle, 0)
          newobj = type(obj).fromhandle(obj.handle)
          self.assertEqual(newobj, obj)
          self.assertEqual(type(newobj), type(obj))
          self.assertEqual(newobj.handle, obj.handle)
          with self.assertRaises(AttributeError):
              newobj.handle = None
          with self.assertRaises(AttributeError):
              newobj.handle = obj.handle
          with self.assertRaises(AttributeError):
              del newobj.handle
  
imports: from mpi4py import MPI
  import mpiunittest
  import ctypes
  import operator
  import weakref
  import sys
label_desc: Use image node_id 9 for calling the TestObjModel obj's underlying member method code with example usage: obj.testHandle() without return types