Fix Python 3 tests.
Enhance tests.
Refactor learning code.