code: def test_mapdomain(self):
      # test for real values
      dom1 = [0, 4]
      dom2 = [1, 3]
      tgt = dom2
      res = pu.mapdomain(dom1, dom1, dom2)
      assert_almost_equal(res, tgt)
  
      # test for complex values
      dom1 = [0 - 1j, 2 + 1j]
      dom2 = [-2, 2]
      tgt = dom2
      x = dom1
      res = pu.mapdomain(x, dom1, dom2)
      assert_almost_equal(res, tgt)
  
      # test for multidimensional arrays
      dom1 = [0, 4]
      dom2 = [1, 3]
      tgt = np.array([dom2, dom2])
      x = np.array([dom1, dom1])
      res = pu.mapdomain(x, dom1, dom2)
      assert_almost_equal(res, tgt)
  
      # test that subtypes are preserved.
      class MyNDArray(np.ndarray):
          pass
  
      dom1 = [0, 4]
      dom2 = [1, 3]
      x = np.array([dom1, dom1]).view(MyNDArray)
      res = pu.mapdomain(x, dom1, dom2)
      assert_(isinstance(res, MyNDArray))
  
file_path: catboost/contrib/python/numpy/py3/numpy/polynomial/tests/test_polyutils.py
imports: import numpy
  import numpy.polynomial.polyutils
  from numpy.testing import assert_almost_equal, assert_raises, assert_equal, assert_
label_desc: Use image node_id 2 for calling the TestDomain obj's underlying member method code with example usage: obj.test_mapdomain() without return types