Open madmike200590 opened 2 years ago
Base: 70.77% // Head: 71.66% // Increases project coverage by +0.88%
:tada:
Coverage data is based on head (
927dc22
) compared to base (e0d4705
). Patch coverage: 64.28% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
@AntoniusW This has been open for a long while, and I'd really like to get it merged. Could you please take a look?
(clone of PR #316, re-creating in order to fix git history that got messed up after squashing modularization commits during merge of #274)
This PR is a follow-up to PR #274. Following the changes to the overall code structure and API introduced through modularization, I took the opportunity to get started on some refactorings of Alphas unit tests. Specifically, this PR aims to
Reduce dependencies and narrow down tested code for unit tests
In order to make our unit tests more precise and avoid localized errors failing lots of tests, I removed unnecessary dependencies from most tests. Especially, we don't want to have tests of core components like gronder and solver depend on the complete program preprocessing workflow including parser and rewritings.
Move functional tests to alpha-solver module
Most tests that test rewriting and preprocessing features, as well as all tests that just pass programs into an
Alpha
instance and verify returned answer sets should be considered functional tests rather than unit tests since they test complete features through the complete workflow. These were moved into thealpha-solver
module since the default implementation ofAlpha
resides there.Mark functional and integration tests for further attention
In order to improve build performance and better distinguish between unit-, integration-, functional- and performance-tests, these should be separated into separate tasks in the build (of which some should probably only run in CI) process. This has not yet been realized yet, but tests that should probably be treated as integration tests or functional tests were marked with appropriate
TODO
s in preparation for that refactoring step. (Issue TBD)