class TestBezierKnots(unittest.TestCase): def setUp(self): self.knots = Knots(np.array([0.,0,1,1]), degree=2) def test_intervals(self): intervals = list(self.knots.intervals()) self.assertEqual(len(intervals), self.knots.nb_curves) def test_left_knot(self): self.assertEqual(self.knots.left_knot(.2), 1) self.assertEqual(self.knots.left_knot(.8), 1)
class TestBigKnot(unittest.TestCase): def setUp(self): self.knots = Knots(np.array([1.,2.,3.,4.,5.,6.,7.]), degree=3) def test_left_knot(self): self.assertEqual(self.knots.left_knot(3.8), 2) self.assertEqual(self.knots.left_knot(3.2), 2) self.assertEqual(self.knots.left_knot(4.8), 3) self.assertEqual(self.knots.left_knot(4.0), 3) self.assertEqual(self.knots.left_knot(4.0-1e-14), 3) with self.assertRaises(ValueError): self.knots.left_knot(2.5) with self.assertRaises(ValueError): self.knots.left_knot(5.5) def test_knot_range(self): k = Knots(np.arange(10)) self.assertEqual(len(k.knot_range()), 0)