def METHOD_NAME(self):
    s = Spline()
    s.add_point(Vector3d(0, 0, 0))
    self.assertEqual(1, s.point_count())
    s.clear()
    self.assertEqual(0, s.point_count())
    s.add_point(Vector3d(0, 0, 0))
    self.assertTrue(s.point(0) == Vector3d(0, 0, 0))
    s.add_point(Vector3d(1, 1, 1))
    self.assertTrue(s.point(1) == Vector3d(1, 1, 1))
    # update_point
    self.assertFalse(s.update_point(2, Vector3d(2, 2, 2)))
    self.assertTrue(s.update_point(1, Vector3d(2, 2, 2)))
    s.auto_calculate(False)
    self.assertTrue(s.update_point(0, Vector3d(-1, -1, -1)))
    s.auto_calculate(True)
    # interpolate
    self.assertAlmostEqual(s.interpolate(0.0), Vector3d(-1, -1, -1))
    self.assertAlmostEqual(s.interpolate(0.5), Vector3d(0.5, 0.5, 0.5))
    self.assertAlmostEqual(s.interpolate(1.0), Vector3d(2, 2, 2))
    # interpolate
    s.add_point(Vector3d(4, 4, 4))
    self.assertAlmostEqual(s.interpolate(1, 0.2),
                           Vector3d(2.496, 2.496, 2.496))