code: def testReduce(self):
      comm = self.INTERCOMM
      rank = comm.Get_rank()
      lsize = comm.Get_size()
      rsize = comm.Get_remote_size()
      for array, typecode in arrayimpl.loop():
          for op in (MPI.SUM, MPI.PROD, MPI.MAX, MPI.MIN):
              if skip_op(typecode, op):
                  continue
              for color in (0, 1):
                  if self.COLOR == color:
                      for root in range(lsize):
                          if root == rank:
                              rbuf = array(-1, typecode, rsize)
                              comm.Reduce(
                                  None,
                                  rbuf.as_mpi(),
                                  op=op,
                                  root=MPI.ROOT,
                              )
                              max_val = maxvalue(rbuf)
                              for i, value in enumerate(rbuf):
                                  if op == MPI.SUM:
                                      if (i * rsize) < max_val:
                                          self.assertAlmostEqual(
                                              value, i * rsize
                                          )
                                  elif op == MPI.PROD:
                                      if (i**rsize) < max_val:
                                          self.assertAlmostEqual(
                                              value, i**rsize
                                          )
                                  elif op == MPI.MAX:
                                      self.assertEqual(value, i)
                                  elif op == MPI.MIN:
                                      self.assertEqual(value, i)
                          else:
                              comm.Reduce(
                                  None,
                                  None,
                                  op=op,
                                  root=MPI.PROC_NULL,
                              )
                  else:
                      for root in range(rsize):
                          sbuf = array(range(lsize), typecode)
                          comm.Reduce(
                              sbuf.as_mpi(),
                              None,
                              op=op,
                              root=root,
                          )
  
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
label_desc: Use image node_id 10 for calling the BaseTestCCOBufInter obj's underlying member method code with example usage: obj.testReduce() without return types