code: def test_count_iterator(self, order):
      @jit.rawkernel()
      def count(x, y):
          i = jit.threadIdx.x
          j = jit.threadIdx.y
          k = jit.threadIdx.z
          array = x[i, j]
          y[i, j, k] = jit.thrust.count(
              jit.thrust.device, array.begin(), array.end(), k
          )
  
      h, w, c = (16, 16, 128)
      x = testing.shaped_random(
          (h, w, c), dtype=numpy.int32, scale=4, order=order
      )
      y = cupy.zeros(h * w * 4, dtype=cupy.int32).reshape(h, w, 4)
      count[1, (16, 16, 4)](x, y)
      expected = (x[..., None] == cupy.arange(4)).sum(axis=2)
      testing.assert_array_equal(y, expected)
  
imports: import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy_backends.cuda.api import runtime
  from cupyx import jit
label_desc: Use image node_id 5 for calling the TestThrust obj's underlying member method code with example usage: obj.test_count_iterator(order) without return types