code: def test_spmv_ell(self):
      code = """
  def indices(x): return range(len(x))
  def spmv_ell(data, idx, x):
      def kernel(i):
          return sum(map(lambda Aj, J: Aj[i] * x[J[i]], data, idx))
      return list(map(kernel, indices(x)))
  """
      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_ell=[List[List[int]], List[List[int]], List[int]],
      )
  
imports: from pythran.tests import TestEnv
  from pythran.typing import *
label_desc: Use image node_id 18 for calling the TestCopperhead obj's underlying member method code with example usage: obj.test_spmv_ell() without return types