code: def test_array(self):
      x = np.array([1, 1j, 2, 2.5 + 0.37j, np.inf, np.nan])
      y = np.array([1, 1j, -0.5 + 1.5j, -0.5 + 1.5j, 2, 3])
      lx = list(range(len(x)))
  
      # Hardcode the expected `builtins.complex` values,
      # as complex exponentiation is broken as of bpo-44698
      p_r = [
          1 + 0j,
          0.20787957635076193 + 0j,
          0.35812203996480685 + 0.6097119028618724j,
          0.12659112128185032 + 0.48847676699581527j,
          complex(np.inf, np.nan),
          complex(np.nan, np.nan),
      ]
  
      n_r = x**y
      for i in lx:
          assert_almost_equal(n_r[i], p_r[i], err_msg="Loop %d\n" % i)
  
imports: import sys
  import platform
  import pytest
  import numpy
  import numpy._core._multiarray_umath
  from numpy.testing import assert_raises, assert_equal, assert_array_equal, assert_almost_equal, assert_array_max_ulp
label_desc: Use image node_id 5 for calling the TestCpow obj's underlying member method code with example usage: obj.test_array() without return types