Refactor tests
The current unit tests are not practical, as they take too much time. Moreover, too many tests are packed into single test routine, making it hard to understand the problem when they crash.
This is a first attempt to make testing more practical:
- larger test functions were splitted into smaller functions with a more intuitive naming.
- the testset has been cutted into unit and (slow) integration tests.
- integration tests are labeled by a marker. Running "pytest" will only run the fast unit tests. integration test are activated by an additional keyword: "pytest --integtest"
- pep8 and flake tests were activated (not fully however, see below)
Several parts are missing and incomplete. As several merge requests are pending for the moment however, this will change code and test files a lot. It seems therefore less painful (in terms of merge conflicts) to already now use the improve tests before branches diverge further. After including the pending merge stuff would be a good moment to refactor the tests again until satisfaction. Pending work, that has to be done later:
- integration tests are still messy as they haven't been touched
- pack test systems together and structure/clean up
- activate full check in "pytest.ini" and clean up entire code according to pep8 and flake
- as a longterm goal, also introduce regression tests, that assure consistency of values against tabulated results over time. As this data might grow large, this should be part of a separate repository however.