code: def test_polyval3d(self):
      x1, x2, x3 = self.x
      y1, y2, y3 = self.y
  
      # test exceptions
      assert_raises_regex(
          ValueError,
          "incompatible",
          poly.polyval3d,
          x1,
          x2,
          x3[:2],
          self.c3d,
      )
  
      # test values
      tgt = y1 * y2 * y3
      res = poly.polyval3d(x1, x2, x3, self.c3d)
      assert_almost_equal(res, tgt)
  
      # test shape
      z = np.ones((2, 3))
      res = poly.polyval3d(z, z, z, self.c3d)
      assert_(res.shape == (2, 3))
  
imports: from functools import reduce
  from fractions import Fraction
  import numpy
  import numpy.polynomial.polynomial
  import pickle
  from copy import deepcopy
  from numpy.testing import assert_almost_equal, assert_raises, assert_equal, assert_, assert_array_equal, assert_raises_regex
label_desc: Use image node_id 4 for calling the TestEvaluation obj's underlying member method code with example usage: obj.test_polyval3d() without return types