code: def testSendrecv(self):
      size = self.COMM.Get_size()
      rank = self.COMM.Get_rank()
      dest = (rank + 1) % size
      source = (rank - 1) % size
      for array, typecode in arrayimpl.loop():
          with arrayimpl.test(self):
              for s in range(0, size + 1):
                  with self.subTest(s=s):
                      sbuf = array(s, typecode, s)
                      rbuf = array(-1, typecode, s + 1)
                      self.COMM.Sendrecv(
                          sbuf.as_mpi(),
                          dest,
                          0,
                          rbuf.as_mpi(),
                          source,
                          0,
                      )
                      check = arrayimpl.scalar(s)
                      for value in rbuf[:-1]:
                          self.assertEqual(value, check)
                      check = arrayimpl.scalar(-1)
                      self.assertEqual(rbuf[-1], check)
  
imports: from mpi4py import MPI
  import mpiunittest
  import itertools
  import arrayimpl
label_desc: Use image node_id 1 for calling the BaseTestP2PBuf obj's underlying member method code with example usage: obj.testSendrecv() without return types