Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So here are two examples on how the unit tests would work with Catch.
Basically the process I followed was divide the unit tests in pieces and each piece is defined as a test case. Also I added tags, which are used to classify the test and that way an specific tag can be run, example:
We can discuss on how the tests should be tagged, I think per class and per documentation group is a good idea.
Also, you might note that all tests are compiled to a single executable, contrary to the previous approach where all tests had their own executable. I think this is better as it allows to leverage Catch's full power (it also might require better CMake magic to specify arguments for the final executable, but I'm a newbie at it).
For the constexpr I think is a good idea to keep them in a separate executable. If a constexpr test brakes only the compilation of that test should be broken.
For the live tests we could have a single Catch executable for them or merge them with the unit tests.