code: def testAccumulate(self):
      group = self.WIN.Get_group()
      size = group.Get_size()
      group.Free()
      for array, typecode in arrayimpl.loop():
          with arrayimpl.test(self):
              if unittest.is_mpi_gpu("openmpi", array):
                  continue
              if unittest.is_mpi_gpu("mvapich2", array):
                  continue
              if typecode in "?":
                  continue
              if typecode in "FDG":
                  continue
              for count in range(10):
                  for rank in range(size):
                      with self.subTest(rank=rank, count=count):
                          sbuf = array(range(count), typecode)
                          rbuf = array(-1, typecode, count + 1)
                          for op in (
                              MPI.SUM,
                              MPI.PROD,
                              MPI.MAX,
                              MPI.MIN,
                          ):
                              self.WIN.Fence()
                              self.WIN.Accumulate(
                                  sbuf.as_mpi(), rank, op=op
                              )
                              self.WIN.Fence()
                              self.WIN.Get(rbuf.as_mpi_c(count), rank)
                              self.WIN.Fence()
                              for i in range(count):
                                  self.assertEqual(sbuf[i], scalar(i))
                                  self.assertNotEqual(
                                      rbuf[i], scalar(-1)
                                  )
                              self.assertEqual(rbuf[-1], scalar(-1))
  
imports: from mpi4py import MPI
  import mpiunittest
  import contextlib
  import arrayimpl
  import sys
label_desc: Use image node_id 4 for calling the BaseTestRMA obj's underlying member method code with example usage: obj.testAccumulate() without return types