code: def check(self, oldtype, factory, *args):
      from pickle import dumps, loads
  
      try:
          if oldtype is not None:
              newtype0 = factory(oldtype, *args)
          else:
              newtype0 = factory(*args)
          if newtype0 == MPI.DATATYPE_NULL or newtype0.Get_size() == 0:
              raise NotImplementedError
      except NotImplementedError:
          self.skipTest("mpi-type-constructor")
      newtype1 = loads(dumps(newtype0))
      self.check_contents(factory, newtype1, oldtype)
      self.free(newtype1)
      self.free(newtype0)
  
imports: from mpi4py import MPI
  import mpiunittest
  import struct
label_desc: Use image node_id 1 for calling the TestDatatypePickle obj's underlying member method code with example usage: obj.check(oldtype, factory) without return types