code: def testReduceLocalBadCount(self):
      for array, typecode in arrayimpl.loop():
          for op in (MPI.SUM, MPI.PROD, MPI.MAX, MPI.MIN):
              sbuf = array(range(3), typecode)
              rbuf = array(range(3), typecode)
  
              def f():
                  op.Reduce_local(sbuf.as_mpi_c(2), rbuf.as_mpi_c(3))
  
              self.assertRaises(ValueError, f)
  
              def f():
                  op.Reduce_local(
                      [sbuf.as_raw(), 1, MPI.INT],
                      [rbuf.as_raw(), 1, MPI.SHORT],
                  )
  
              self.assertRaises(ValueError, f)
  
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
  from functools import reduce
label_desc: Use image node_id 2 for calling the TestReduceLocal obj's underlying member method code with example usage: obj.testReduceLocalBadCount() without return types