code: def test_polygrid3d(self):
      x1, x2, x3 = self.x
      y1, y2, y3 = self.y
  
      # test values
      tgt = np.einsum("i,j,k->ijk", y1, y2, y3)
      res = poly.polygrid3d(x1, x2, x3, self.c3d)
      assert_almost_equal(res, tgt)
  
      # test shape
      z = np.ones((2, 3))
      res = poly.polygrid3d(z, z, z, self.c3d)
      assert_(res.shape == (2, 3) * 3)
  
imports: from functools import reduce
  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_warns, assert_array_equal, assert_raises_regex
label_desc: Use image node_id 6 for calling the TestEvaluation obj's underlying member method code with example usage: obj.test_polygrid3d() without return types