code: def test_spmv_csr(self):
      code = """
  def spvv_csr(x, cols, y):
      def gather(x, indices): return [x[i] for i in indices]
      z = gather(y, cols)
      return sum(map(lambda a, b: a * b, x, z))
  def spmv_csr(Ax, Aj, x):
      return list(map(lambda y, cols: spvv_csr(y, cols, x), Ax, Aj))
  """
      self.run_test(
          code,
          [[0, 1, 2], [0, 1, 2], [0, 1, 2]],
          [[0, 1, 2], [0, 1, 2], [0, 1, 2]],
          [0, 1, 2],
          spmv_csr=[List[List[int]], List[List[int]], List[int]],
      )
  
imports: from pythran.tests import TestEnv
  from pythran.typing import *
label_desc: Use image node_id 17 for calling the TestCopperhead obj's underlying member method code with example usage: obj.test_spmv_csr() without return types