diff --git a/docs/assertions.md b/docs/assertions.md index 40faa5ebca..72ca8234da 100644 --- a/docs/assertions.md +++ b/docs/assertions.md @@ -16,6 +16,9 @@ Catch is different. Because it decomposes natural C-style conditional expression Most of these macros come in two forms: ## Natural Expressions +```cpp +#include +``` The ```REQUIRE``` family of macros tests an expression and aborts the test case if it fails. The ```CHECK``` family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthogonal assertions and it is useful to see all the results rather than stopping at the first failure. @@ -50,6 +53,10 @@ REQUIRE_FALSE(ret); // ret must evaluate to false, and Catch2 will print // out the value of ret if possibly ``` +### Floating point comparisons +```cpp +#include +``` ### Other limitations @@ -105,7 +112,9 @@ Expects that an exception of the _specified type_ is thrown during evaluation of * **REQUIRE_THROWS_WITH(** _expression_, _string or string matcher_ **)** and * **CHECK_THROWS_WITH(** _expression_, _string or string matcher_ **)** - +```cpp +#include +``` Expects that an exception is thrown that, when converted to a string, matches the _string_ or _string matcher_ provided (see next section for Matchers). e.g. @@ -177,6 +186,20 @@ TEST_CASE_METHOD((Fixture), "foo", "[bar]") { This solution is not always applicable, because it might require extra changes on the Catch's side to work. +## Lambdas +Lambdas are a C++ language feature and can be freely used inside a `TEST_CASE` or a `SECTION`. + +```cpp +#include + +TEST_CASE("Dumb") { + auto fnTest = [](const bool bPass) { CHECK(bPass); }; + + fnTest(true); +} +``` +[godbolt](https://catch2.godbolt.org/z/ebdr9vKcj) + --- [Home](Readme.md#top) diff --git a/docs/benchmarks.md b/docs/benchmarks.md index 548913c76f..6f57564e1b 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -45,6 +45,9 @@ User code that cannot be executed repeatedly will lead to bogus results or crashes. ## Benchmark specification +```cpp +#include +``` Benchmarks can be specified anywhere inside a Catch test case. There is a simple and a slightly more advanced version of the `BENCHMARK` macro. diff --git a/docs/generators.md b/docs/generators.md index 7a865d4364..c0a9415bb8 100644 --- a/docs/generators.md +++ b/docs/generators.md @@ -2,6 +2,9 @@ # Data Generators > Introduced in Catch2 2.6.0. +```cpp +#include +``` Data generators (also known as _data driven/parametrized test cases_) let you reuse the same set of assertions across different input values. @@ -145,6 +148,16 @@ type, making their usage much nicer. These are > `range()` for floating point numbers has been introduced in Catch2 2.11.0 +### Random generators +```cpp +#include +``` + +### Range generators +```cpp +#include +``` + And can be used as shown in the example below to create a generator that returns 100 odd random number: diff --git a/docs/matchers.md b/docs/matchers.md index d3afe0f405..a3939e6092 100644 --- a/docs/matchers.md +++ b/docs/matchers.md @@ -15,6 +15,9 @@ own and combine them with the Catch2-provided matchers seamlessly. ## Using Matchers +```cpp +#include +``` Matchers are most commonly used in tandem with the `REQUIRE_THAT` or `CHECK_THAT` macros. The `REQUIRE_THAT` macro takes two arguments,