code: def testF90Integer(self):
      try:
          mt = MPI.Datatype.Create_f90_integer(1)
          if mt == MPI.DATATYPE_NULL or mt.Get_size() == 0:
              raise NotImplementedError
      except NotImplementedError:
          self.skipTest("mpi-type-create-f90-integer")
      for r in range(1, 19):
          with self.subTest(r=r):
              mt = MPI.Datatype.Create_f90_integer(r)
              dt = tonumpy(mt)
              if np_dtype is not None:
                  self.assertEqual(dt.kind, "i")
                  self.assertEqual(dt.itemsize, mt.extent)
                  size = mt.Get_size()
                  tstr = f"i{size}"
                  stp, mtp = self.makeStruct(tstr, mt)
                  self.assertEqual(stp.itemsize, mtp.extent)
                  self.check(mtp)
                  mtp.Free()
  
imports: from mpi4py import MPI
  from mpi4py.util.dtlib import from_numpy_dtype
  from mpi4py.util.dtlib import to_numpy_dtype
  import sys, os
  import itertools
label_desc: Use image node_id 17 for calling the TestUtilDTLib obj's underlying member method code with example usage: obj.testF90Integer() without return types