code: def test_knot_weights_exception_is_raised(
      self, error_msg, num_knots, degree
  ):
      self.assert_exception_is_raised(
          bspline.knot_weights,
          error_msg,
          shapes=((10, 1),),
          num_knots=num_knots,
          degree=degree,
          cyclical=True,
      )
  
file_path: graphics/tensorflow_graphics/math/interpolation/tests/bspline_test.py
imports: from absl.testing import parameterized
  import numpy
  from tensorflow_graphics.math.interpolation import bspline
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 12 for calling the BSplineTest obj's underlying member method code with example usage: obj.test_knot_weights_exception_is_raised(error_msg, num_knots, degree) without return types