mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-17 19:22:25 +01:00
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
957b98a32a
What about to check for a well-defined newEpsilon (cf. http://realtimecollisiondetection.net/blog/?p=89)? Apart from computational sciences view (cf. https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ or https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) I would prefer two slight modifications referring to https://en.wikipedia.org/wiki/Approximation_error#Formal_Definition: The given epsilon should refer to the target value, otherwise the result would be unexpected, e.g. 101.02 == Approx(100).epsilon(0.01) gets true. The default scale should be invisible, thus, e.g. 101.01 == Approx(100).epsilon(0.01) gets false. Finally (both modifications accepted) even 101.000001 == Approx(100).epsilon(0.01) should get false, e.g. To prevent a misuse of epsilon its setting should be checked. |
||
---|---|---|
.github | ||
contrib | ||
docs | ||
include | ||
projects | ||
scripts | ||
single_include | ||
test_package | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
catch-hand-icon.png | ||
catch-icon-tiny.png | ||
catch-logo-small.png | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
conanfile.py | ||
LICENSE.txt | ||
README.md |
The latest, single header, version can be downloaded directly using this link
What's the Catch?
Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C). It is implemented entirely in a set of header files, but is packaged up as a single header for extra convenience.
How to use it
This documentation comprises these three parts:
- Why do we need yet another C++ Test Framework?
- Tutorial - getting started
- Reference section - all the details
More
- Issues and bugs can be raised on the Issue tracker on GitHub
- For discussion or questions please use the dedicated Google Groups forum
- See who else is using Catch
Help us out
We're currently running a survey to help us shape the future of Catch. Please take a few moments to fill it out (there's only ten questions).