code: def testScatterv3(self):
      size = self.COMM.Get_size()
      rank = self.COMM.Get_rank()
      for array, typecode in arrayimpl.loop():
          for root in range(size):
              check = arrayimpl.scalar(root)
              for count in range(size + 1):
                  #
                  sbuf = array(root, typecode, count * size).as_raw()
                  rbuf = array(-1, typecode, count).as_raw()
                  sendbuf = [sbuf, count]
                  recvbuf = rbuf
                  if rank != root:
                      sendbuf = None
                  self.COMM.Scatterv(sendbuf, recvbuf, root)
                  for v in rbuf:
                      self.assertEqual(v, check)
                  #
                  if rank == root:
                      sbuf = array(
                          root, typecode, count * size
                      ).as_raw()
                  else:
                      sbuf = None
                  rbuf = array(-1, typecode, count).as_raw()
                  self.COMM.Scatterv(sbuf, rbuf, root)
                  for v in rbuf:
                      self.assertEqual(v, check)
  
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
label_desc: Use image node_id 6 for calling the BaseTestCCOVec obj's underlying member method code with example usage: obj.testScatterv3() without return types