Beispiel #1
0
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)
Beispiel #2
0
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)