code: def testPutGet(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("mvapich2", array):
                  continue
              for count in range(10):
                  for rank in range(size):
                      with self.subTest(rank=rank, count=count):
                          sbuf = array([rank] * count, typecode)
                          rbuf = array(-1, typecode, count + 1)
                          self.WIN.Fence()
                          with win_lock(self.WIN, rank):
                              r = self.WIN.Rput(sbuf.as_mpi(), rank)
                              r.Wait()
                              self.WIN.Flush(rank)
                              r = self.WIN.Rget(
                                  rbuf.as_mpi_c(count), rank
                              )
                              r.Wait()
                          for i in range(count):
                              self.assertEqual(sbuf[i], scalar(rank))
                              self.assertEqual(rbuf[i], scalar(rank))
                          self.assertEqual(rbuf[-1], scalar(-1))
  
imports: from mpi4py import MPI
  import mpiunittest
  import contextlib
  import arrayimpl
label_desc: Use image node_id 3 for calling the BaseTestRMA obj's underlying member method code with example usage: obj.testPutGet() without return types