code: def test_polydiv(self):
      # check zero division
      assert_raises(ZeroDivisionError, poly.polydiv, [1], [0])
  
      # check scalar division
      quo, rem = poly.polydiv([2], [2])
      assert_equal((quo, rem), (1, 0))
      quo, rem = poly.polydiv([2, 2], [2])
      assert_equal((quo, rem), ((1, 1), 0))
  
      # check rest.
      for i in range(5):
          for j in range(5):
              msg = f"At i={i}, j={j}"
              ci = [0] * i + [1, 2]
              cj = [0] * j + [1, 2]
              tgt = poly.polyadd(ci, cj)
              quo, rem = poly.polydiv(tgt, ci)
              res = poly.polyadd(poly.polymul(quo, ci), rem)
              assert_equal(res, tgt, err_msg=msg)
  
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 5 for calling the TestArithmetic obj's underlying member method code with example usage: obj.test_polydiv() without return types