#### Functional - Try to run the program. - Does the program compile and run without any error or warning? - Set one or more control points by left-clicking on the canvas. - Confirm that the program allows you to mark these control points. - Check if the program draws a small circle around the control points for identification purposes. - Set three or more control points on the canvas and press `Enter`. - Observe whether Chaikin's algorithm starts the animation. - To exit the program, press the `Escape` key. - Ensure the program exits without any errors. - Start the program and set only one control point by left-clicking on the canvas. Then, press `Enter`. - Confirm that only the selected control point is visible, and nothing else changes. - Restart the program, set two control points by left-clicking on the canvas, and press `Enter`. - Check if only a straight line is drawn between the two control points. - Restart the program, set three or more control points by left-clicking on the canvas, and press `Enter`. - Confirm that the animation completes 7 steps before restarting. - Restart the program, set three or more control points by left-clicking on the canvas, and press `Enter`. Then, press `Escape` to exit the program. - Verify that the program exits without any errors. - Start the program and press `Enter` without selecting any points. - Check if the program continues without any errors. - After pressing `Enter` without selecting points, try placing points without needing to restart the program. #### Bonus Features - Check if a message is displayed when you press `Enter` without drawing any points, reminding you to add points. - Verify if you can clear the screen and add new control points without restarting the program. - Check if it's possible to drag the control points in real time and observe the generation of a new curve.