So I did quite a few things to your code. Mocked some of your stuff so i was able to create base tests for multiChoice and singleChoice... really boosted your test coverage.
I made some code changes. most of these were best practices or standards for python development :)
I removed all redundant parenthesis, this is a code format suggestion that's standard for python.
there was a lot of redundant return values so we got rid of those
made some private methods of small tasks that can be given a method name instead of a consistent comment, like getting input
move tests to parameterized tests. This can save a lot of space on the page when testing a lot of inputs
added tests for testing printed output of cursor methods
So I did quite a few things to your code. Mocked some of your stuff so i was able to create base tests for multiChoice and singleChoice... really boosted your test coverage.
I made some code changes. most of these were best practices or standards for python development :)