def METHOD_NAME(self):
    """Test the function .remove_knots.
    This test also depends on the function .insert_knots!"""
    # insert and remove knots
    self.bspline.insert_knots(
        0,
        [
            0.2,
            0.7,
        ],
    )
    self.bspline.insert_knots(
        1,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    self.bspline.remove_knots(0, [0.2, 0.7])
    self.bspline.remove_knots(
        1,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    self.nurbs.insert_knots(
        0,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    self.nurbs.insert_knots(
        1,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    self.nurbs.remove_knots(
        0,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    self.nurbs.remove_knots(
        1,
        [
            0.2,
            0.5,
            0.7,
        ],
    )
    # test knot_vectors
    self.assertTrue(
        c.are_items_close(
            self.bspline.knot_vectors, self.bspline_2p2d().knot_vectors
        )
    )
    self.assertTrue(
        c.are_items_close(
            self.nurbs.knot_vectors, self.nurbs_2p2d().knot_vectors
        )
    )
    # use random query points
    q2D = c.np.random.rand(10, 2)
    # test evaluation
    self.assertTrue(
        c.np.allclose(
            self.bspline.evaluate(q2D), self.bspline_2p2d().evaluate(q2D)
        )
    )
    self.assertTrue(
        c.np.allclose(
            self.nurbs.evaluate(q2D), self.nurbs_2p2d().evaluate(q2D)
        )
    )