mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-23 13:56:11 +01:00
b79a83e4aa
This means that code such as ```cpp TEST_CASE() { SECTION("first") { SUCCEED(); } auto _ = GENERATE(1, 2); SECTION("second") { SUCCEED(); } } ``` will run and report 3 assertions, 1 from section "first" and 2 from section "second". This also applies for greater and potentially more confusing nesting, but fundamentally it is up to the user to avoid overly complex and confusing nestings, just as with `SECTION`s. The old behaviour of `GENERATE` as first thing in a `TEST_CASE`, `GENERATE` not followed by a `SECTION`, etc etc should be unchanged. Closes #1938
14133 lines
446 KiB
Plaintext
14133 lines
446 KiB
Plaintext
Filters: ~[!nonportable]~[!benchmark]~[approvals]
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
<exe-name> is a <version> host application.
|
|
Run with -? for options
|
|
|
|
Randomness seeded to: 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
# A test name that starts with a #
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
yay
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1005: Comparing pointer to int and long (NULL can be either on various
|
|
systems)
|
|
-------------------------------------------------------------------------------
|
|
Decomposition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Decomposition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( fptr == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Decomposition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( fptr == 0l )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1027
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( y.v == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == y.v )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1027: Bitfields can be captured
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( y.v == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == y.v )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1147
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 == t2 )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 != t2 )
|
|
with expansion:
|
|
{?} != {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 < t2 )
|
|
with expansion:
|
|
{?} < {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 > t2 )
|
|
with expansion:
|
|
{?} > {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 <= t2 )
|
|
with expansion:
|
|
{?} <= {?}
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( t1 >= t2 )
|
|
with expansion:
|
|
{?} >= {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1175 - Hidden Test
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1238
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::memcmp(uarr, "123", sizeof(uarr)) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with messages:
|
|
uarr := "123"
|
|
sarr := "456"
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::memcmp(sarr, "456", sizeof(sarr)) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with messages:
|
|
uarr := "123"
|
|
sarr := "456"
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1245
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1403
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h1 == h2 )
|
|
with expansion:
|
|
[1403 helper] == [1403 helper]
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1455 - INFO and WARN can start with a linebreak
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
|
|
This info message starts with a linebreak
|
|
|
|
This warning message starts with a linebreak
|
|
|
|
|
|
No assertions in test case '#1455 - INFO and WARN can start with a linebreak'
|
|
|
|
This would not be caught previously
|
|
Nor would this
|
|
-------------------------------------------------------------------------------
|
|
#1514: stderr/stdout is not captured in tests aborted by an exception
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
1514
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1548
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::is_same<TypeList<int>, TypeList<int>>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1905 -- test spec parser properly clears internal state between compound tests
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase("spec . char")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase("spec , char")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( spec.matches(fakeTestCase(R"(spec \, char)")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1912 -- test spec parser handles escaping
|
|
Various parentheses
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec {a} char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec [a] char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( spec.matches(fakeTestCase("differs but has similar tag", "[a]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1912 -- test spec parser handles escaping
|
|
backslash in test name
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(fakeTestCase(R"(spec \ char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATE inside a for loop should not keep recreating the generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( counter < 7 )
|
|
with expansion:
|
|
3 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATE inside a for loop should not keep recreating the generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( counter < 7 )
|
|
with expansion:
|
|
6 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
1 != 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
1 != 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
2 != 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1913 - GENERATEs can share a line
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i != j )
|
|
with expansion:
|
|
2 != 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - GENERATE after a section
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
A
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - GENERATE after a section
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - GENERATE after a section
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - GENERATE after a section
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - Section followed by flat generate
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - Section followed by flat generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - Section followed by flat generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - flat generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - flat generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - flat generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
A
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 1
|
|
j := 3
|
|
k := 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
B
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 1
|
|
j := 3
|
|
k := 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
B
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 1
|
|
j := 4
|
|
k := 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 1
|
|
j := 4
|
|
k := 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
A
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 2
|
|
j := 3
|
|
k := 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
B
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 2
|
|
j := 3
|
|
k := 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
B
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
B
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 2
|
|
j := 4
|
|
k := 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - mixed sections and generates
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
i := 2
|
|
j := 4
|
|
k := 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
1
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
1
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
1
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
2
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
2
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1938 - nested generate
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m )
|
|
with expansion:
|
|
3
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( n )
|
|
with expansion:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1954 - 7 arg template test case sig compiles - 1, 1, 1, 1, 1, 0, 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1954 - 7 arg template test case sig compiles - 5, 1, 1, 1, 1, 0, 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1954 - 7 arg template test case sig compiles - 5, 3, 1, 1, 1, 0, 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
outside assertions
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with messages:
|
|
answer := 42
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
inside REQUIRE_NOTHROW
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_NOTHROW( thisThrows() )
|
|
due to unexpected exception with messages:
|
|
answer := 42
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
#748 - captures with unexpected exceptions
|
|
inside REQUIRE_THROWS
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( thisThrows() )
|
|
with message:
|
|
answer := 42
|
|
|
|
-------------------------------------------------------------------------------
|
|
#809
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 42 == f )
|
|
with expansion:
|
|
42 == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
#833
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a == t )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
CHECK( a == t )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( throws_int(true) )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS_AS( throws_int(true), int )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( throws_int(false) )
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "aaa", Catch::EndsWith("aaa") )
|
|
with expansion:
|
|
"aaa" ends with: "aaa"
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( templated_tests<int>(3) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
#835 -- errno should not be touched by Catch
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( f() == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( errno == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
#872
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x == 4 )
|
|
with expansion:
|
|
{?} == 4
|
|
with message:
|
|
dummy := 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 3
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
#961 -- Dynamically created sections should all be reported
|
|
Looped section 4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Everything is OK
|
|
|
|
-------------------------------------------------------------------------------
|
|
'Not' checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( false != false )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( true != true )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( !true )
|
|
with expansion:
|
|
false
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK_FALSE( true )
|
|
with expansion:
|
|
!true
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( !trueValue )
|
|
with expansion:
|
|
false
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK_FALSE( trueValue )
|
|
with expansion:
|
|
!true
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( !(1 == 1) )
|
|
with expansion:
|
|
false
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK_FALSE( 1 == 1 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
'Not' checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( false == false )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true == true )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !false )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( false )
|
|
with expansion:
|
|
!false
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !falseValue )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( falseValue )
|
|
with expansion:
|
|
!false
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !(1 == 2) )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( 1 == 2 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
(unimplemented) static bools can be evaluated
|
|
compare to true
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( is_true<true>::value == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true == is_true<true>::value )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
(unimplemented) static bools can be evaluated
|
|
compare to false
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( is_true<false>::value == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( false == is_true<false>::value )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
(unimplemented) static bools can be evaluated
|
|
negation
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !is_true<false>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
(unimplemented) static bools can be evaluated
|
|
double negation
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !!is_true<true>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
(unimplemented) static bools can be evaluated
|
|
direct
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( is_true<true>::value )
|
|
with expansion:
|
|
true
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( is_true<false>::value )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
1 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
1 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
2 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
2 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 4
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
4 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 5
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
5 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 7
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 8
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
3x3x3 ints
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( x < y )
|
|
with expansion:
|
|
3 < 6
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
CHECK( y < z )
|
|
with expansion:
|
|
6 < 9
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x < z )
|
|
with expansion:
|
|
3 < 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
A METHOD_AS_TEST_CASE based test run that fails
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( s == "world" )
|
|
with expansion:
|
|
"hello" == "world"
|
|
|
|
-------------------------------------------------------------------------------
|
|
A METHOD_AS_TEST_CASE based test run that succeeds
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s == "hello" )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo
|
|
<float>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 1 )
|
|
with expansion:
|
|
0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo
|
|
<int>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 1 )
|
|
with expansion:
|
|
0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector
|
|
<float>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 1 )
|
|
with expansion:
|
|
0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector
|
|
<int>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 1 )
|
|
with expansion:
|
|
0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo
|
|
<float>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo
|
|
<int>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector
|
|
<float>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector
|
|
<int>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>::m_a.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails -
|
|
Template_Foo_2<float, 6>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() < 2 )
|
|
with expansion:
|
|
6 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails -
|
|
Template_Foo_2<int, 2>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() < 2 )
|
|
with expansion:
|
|
2 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - std::array
|
|
<float, 6>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() < 2 )
|
|
with expansion:
|
|
6 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - std::array
|
|
<int, 2>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() < 2 )
|
|
with expansion:
|
|
2 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds -
|
|
Template_Foo_2<float,6>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() >= 2 )
|
|
with expansion:
|
|
6 >= 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds -
|
|
Template_Foo_2<int,2>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() >= 2 )
|
|
with expansion:
|
|
2 >= 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - std::
|
|
array<float,6>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() >= 2 )
|
|
with expansion:
|
|
6 >= 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that succeeds - std::
|
|
array<int,2>
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture_2<TestType>{}.m_a.size() >= 2 )
|
|
with expansion:
|
|
2 >= 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that fails - double
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 2 )
|
|
with expansion:
|
|
1.0 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that fails - float
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 2 )
|
|
with expansion:
|
|
1.0f == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that fails - int
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 2 )
|
|
with expansion:
|
|
1 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - double
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1.0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - float
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1.0f == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD based test run that succeeds - int
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 1
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Nttp_Fixture<V>::value == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 3
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Nttp_Fixture<V>::value == 0 )
|
|
with expansion:
|
|
3 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that fails - 6
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Nttp_Fixture<V>::value == 0 )
|
|
with expansion:
|
|
6 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 1
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Nttp_Fixture<V>::value > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 3
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Nttp_Fixture<V>::value > 0 )
|
|
with expansion:
|
|
3 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 6
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Nttp_Fixture<V>::value > 0 )
|
|
with expansion:
|
|
6 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEST_CASE_METHOD based test run that fails
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( m_a == 2 )
|
|
with expansion:
|
|
1 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEST_CASE_METHOD based test run that succeeds
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m_a == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - Foo<float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - Foo<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - std::vector<float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - std::vector<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - Bar<float, 42>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
42 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - Bar<int, 9>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
9 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - std::array<float, 42>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
42 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - std::array<int, 9>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
9 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A comparison that uses literals instead of the normal constructor
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.23_a )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( -d == -1.23_a )
|
|
with expansion:
|
|
-1.23 == Approx( -1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.2_a .epsilon(.1) )
|
|
with expansion:
|
|
1.23 == Approx( 1.2 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.2_a .epsilon(.001) )
|
|
with expansion:
|
|
1.23 != Approx( 1.2 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1_a .epsilon(.3) )
|
|
with expansion:
|
|
1.23 == Approx( 1.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
A couple of nested sections followed by a failure
|
|
Outer
|
|
Inner
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
that's not flying - that's failing in style
|
|
|
|
-------------------------------------------------------------------------------
|
|
A couple of nested sections followed by a failure
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
to infinity and beyond
|
|
|
|
-------------------------------------------------------------------------------
|
|
A failing expression with a non streamable type is still captured
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
CHECK( &o1 == &o2 )
|
|
with expansion:
|
|
0x<hex digits> == 0x<hex digits>
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
CHECK( o1 == o2 )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Absolute margin
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 != Approx(100.0) )
|
|
with expansion:
|
|
104.0 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 == Approx(100.0).margin(5) )
|
|
with expansion:
|
|
104.0 == Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 == Approx(100.0).margin(4) )
|
|
with expansion:
|
|
104.0 == Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 != Approx(100.0).margin(3) )
|
|
with expansion:
|
|
104.0 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 100.3 != Approx(100.0) )
|
|
with expansion:
|
|
100.3 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 100.3 == Approx(100.0).margin(0.5) )
|
|
with expansion:
|
|
100.3 == Approx( 100.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
An empty test with no assertions
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'An empty test with no assertions'
|
|
|
|
-------------------------------------------------------------------------------
|
|
An expression with side-effects should only be evaluated once
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i++ == 7 )
|
|
with expansion:
|
|
7 == 7
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i++ == 8 )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
An unchecked exception reports the line of the last assertion
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
CHECK( 1 == 1 )
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
{Unknown expression after the reported line}
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Anonymous test case 1
|
|
-------------------------------------------------------------------------------
|
|
VariadicMacros.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
VariadicMacros.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
anonymous test case
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approx setters validate their arguments
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).margin(0) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).margin(1234656) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).margin(-2), std::domain_error )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).epsilon(0) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).epsilon(1) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).epsilon(-0.001), std::domain_error )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).epsilon(1.0001), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approx with exactly-representable margin
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.25f == Approx(0.0f).margin(0.25f) )
|
|
with expansion:
|
|
0.25f == Approx( 0.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.0f == Approx(0.25f).margin(0.25f) )
|
|
with expansion:
|
|
0.0f == Approx( 0.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.5f == Approx(0.25f).margin(0.25f) )
|
|
with expansion:
|
|
0.5f == Approx( 0.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 245.0f == Approx(245.25f).margin(0.25f) )
|
|
with expansion:
|
|
245.0f == Approx( 245.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 245.5f == Approx(245.25f).margin(0.25f) )
|
|
with expansion:
|
|
245.5f == Approx( 245.25 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate PI
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 ) )
|
|
with expansion:
|
|
3.1428571429 == Approx( 3.141 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 ) )
|
|
with expansion:
|
|
3.1428571429 != Approx( 3.141 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.231 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.231 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == Approx( 1.231 ).epsilon( 0.1 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.231 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with floats
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.23f == Approx( 1.23f ) )
|
|
with expansion:
|
|
1.23f == Approx( 1.2300000191 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0.0f == Approx( 0.0f ) )
|
|
with expansion:
|
|
0.0f == Approx( 0.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with ints
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1 == Approx( 1 ) )
|
|
with expansion:
|
|
1 == Approx( 1.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( 0 ) )
|
|
with expansion:
|
|
0 == Approx( 0.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with mixed numeric types
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.0f == Approx( 1 ) )
|
|
with expansion:
|
|
1.0f == Approx( 1.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( dZero) )
|
|
with expansion:
|
|
0 == Approx( 0.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( dSmall ).margin( 0.001 ) )
|
|
with expansion:
|
|
0 == Approx( 0.00001 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.234f == Approx( dMedium ) )
|
|
with expansion:
|
|
1.234f == Approx( 1.234 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( dMedium == Approx( 1.234f ) )
|
|
with expansion:
|
|
1.234 == Approx( 1.2339999676 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Arbitrary predicate matcher
|
|
Function pointer
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, Predicate<int>(alwaysTrue, "always true") )
|
|
with expansion:
|
|
1 matches predicate: "always true"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, !Predicate<int>(alwaysFalse, "always false") )
|
|
with expansion:
|
|
1 not matches predicate: "always false"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Arbitrary predicate matcher
|
|
Lambdas + different type
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "Hello olleH", Predicate<std::string>( [] (std::string const& str) -> bool { return str.front() == str.back(); }, "First and last character should be equal") )
|
|
with expansion:
|
|
"Hello olleH" matches predicate: "First and last character should be equal"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "This wouldn't pass", !Predicate<std::string>( [] (std::string const& str) -> bool { return str.front() == str.back(); } ) )
|
|
with expansion:
|
|
"This wouldn't pass" not matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertion macros support bit operators and bool conversions
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lhs | rhs )
|
|
with expansion:
|
|
Val: 1 | Val: 2
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lhs & rhs )
|
|
with expansion:
|
|
!(Val: 1 & Val: 2)
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( HasBitOperators{ 1 } & HasBitOperators{ 1 } )
|
|
with expansion:
|
|
Val: 1 & Val: 1
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lhs ^ rhs )
|
|
with expansion:
|
|
Val: 1 ^ Val: 2
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lhs ^ lhs )
|
|
with expansion:
|
|
!(Val: 1 ^ Val: 1)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
Another section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
Another other section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
CAPTURE can deal with complex expressions
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
a := 1
|
|
b := 2
|
|
c := 3
|
|
a + b := 3
|
|
a+b := 3
|
|
c > b := true
|
|
a == 1 := true
|
|
|
|
-------------------------------------------------------------------------------
|
|
CAPTURE can deal with complex expressions involving commas
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
std::vector<int>{1, 2, 3}[0, 1, 2] := 3
|
|
std::vector<int>{1, 2, 3}[(0, 1)] := 2
|
|
std::vector<int>{1, 2, 3}[0] := 1
|
|
(helper_1436<int, int>{12, -12}) := { 12, -12 }
|
|
(helper_1436<int, int>(-12, 12)) := { -12, 12 }
|
|
(1, 2) := 2
|
|
(2, 3) := 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
CAPTURE parses string and character constants
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
with messages:
|
|
("comma, in string", "escaped, \", ") := "escaped, ", "
|
|
"single quote in string,'," := "single quote in string,',"
|
|
"some escapes, \\,\\\\" := "some escapes, \,\\"
|
|
"some, ), unmatched, } prenheses {[<" := "some, ), unmatched, } prenheses {[
|
|
<"
|
|
'"' := '"'
|
|
'\'' := '''
|
|
',' := ','
|
|
'}' := '}'
|
|
')' := ')'
|
|
'(' := '('
|
|
'{' := '{'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Capture and info messages
|
|
Capture should stringify like assertions
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
i := 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Capture and info messages
|
|
Info should NOT stringify the way assertions do
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
Specifically escaped
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( tab == '\t' )
|
|
with expansion:
|
|
'\t' == '\t'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( newline == '\n' )
|
|
with expansion:
|
|
'\n' == '\n'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( carr_return == '\r' )
|
|
with expansion:
|
|
'\r' == '\r'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( form_feed == '\f' )
|
|
with expansion:
|
|
'\f' == '\f'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
General chars
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( space == ' ' )
|
|
with expansion:
|
|
' ' == ' '
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'a' == 'a'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'z' == 'z'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'A' == 'A'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'Z' == 'Z'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
Low ASCII
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( null_terminator == '\0' )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
Commas in various macros are allowed
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} )
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS( std::vector<constructor_throws>{constructor_throws{}, constructor_throws{}} )
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} )
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK_NOTHROW( std::vector<int>{1, 2, 3} == std::vector<int>{1, 2, 3} )
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::vector<int>{1, 2} == std::vector<int>{1, 2} )
|
|
with expansion:
|
|
{ 1, 2 } == { 1, 2 }
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK( std::vector<int>{1, 2} == std::vector<int>{1, 2} )
|
|
with expansion:
|
|
{ 1, 2 } == { 1, 2 }
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( std::vector<int>{1, 2} == std::vector<int>{1, 2, 3} )
|
|
with expansion:
|
|
!({ 1, 2 } == { 1, 2, 3 })
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( std::vector<int>{1, 2} == std::vector<int>{1, 2, 3} )
|
|
with expansion:
|
|
!({ 1, 2 } == { 1, 2, 3 })
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK_NOFAIL( std::vector<int>{1, 2} == std::vector<int>{1, 2} )
|
|
with expansion:
|
|
{ 1, 2 } == { 1, 2 }
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECKED_IF( std::vector<int>{1, 2} == std::vector<int>{1, 2} )
|
|
with expansion:
|
|
{ 1, 2 } == { 1, 2 }
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECKED_ELSE( std::vector<int>{1, 2} == std::vector<int>{1, 2} )
|
|
with expansion:
|
|
{ 1, 2 } == { 1, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparing function pointers
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a )
|
|
with expansion:
|
|
0x<hex digits>
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a == &foo )
|
|
with expansion:
|
|
0x<hex digits> == 0x<hex digits>
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparison ops
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( SimplePcg32{} == SimplePcg32{} )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( SimplePcg32{ 0 } != SimplePcg32{} )
|
|
with expansion:
|
|
{?} != {?}
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( SimplePcg32{ 1 } == SimplePcg32{ 2 } )
|
|
with expansion:
|
|
!({?} == {?})
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( SimplePcg32{ 1 } != SimplePcg32{ 1 } )
|
|
with expansion:
|
|
!({?} != {?})
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparison with explicitly convertible types
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td == Approx(10.0) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) == Approx( 10.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(10.0) == td )
|
|
with expansion:
|
|
Approx( 10.0 ) == StrongDoubleTypedef(10)
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td != Approx(11.0) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) != Approx( 11.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(11.0) != td )
|
|
with expansion:
|
|
Approx( 11.0 ) != StrongDoubleTypedef(10)
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td <= Approx(10.0) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) <= Approx( 10.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td <= Approx(11.0) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) <= Approx( 11.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(10.0) <= td )
|
|
with expansion:
|
|
Approx( 10.0 ) <= StrongDoubleTypedef(10)
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(9.0) <= td )
|
|
with expansion:
|
|
Approx( 9.0 ) <= StrongDoubleTypedef(10)
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td >= Approx(9.0) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) >= Approx( 9.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( td >= Approx(td) )
|
|
with expansion:
|
|
StrongDoubleTypedef(10) >= Approx( 10.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(td) >= td )
|
|
with expansion:
|
|
Approx( 10.0 ) >= StrongDoubleTypedef(10)
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx(11.0) >= td )
|
|
with expansion:
|
|
Approx( 11.0 ) >= StrongDoubleTypedef(10)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparisons between ints where one side is computed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( 54 == 6*9 )
|
|
with expansion:
|
|
54 == 54
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparisons between unsigned ints and negative signed ints match c++ standard
|
|
behaviour
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( ( -1 > 2u ) )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( -1 > 2u )
|
|
with expansion:
|
|
-1 > 2
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( ( 2u < -1 ) )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( 2u < -1 )
|
|
with expansion:
|
|
2 < -1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( ( minInt > 2u ) )
|
|
with expansion:
|
|
true
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
CHECK( minInt > 2u )
|
|
with expansion:
|
|
-2147483648 > 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Comparisons with int literals don't warn when mixing signed/ unsigned
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ui == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( l == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ul == 4 )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( uc == 6 )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1 == i )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 2 == ui )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 3 == l )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4 == ul )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 5 == c )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 6 == uc )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( (std::numeric_limits<uint32_t>::max)() > ul )
|
|
with expansion:
|
|
4294967295 (0x<hex digits>) > 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
Composed matchers are distinct
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testStringForMatching2(), !composed1 )
|
|
with expansion:
|
|
"some completely different text that contains one common word" not (
|
|
contains: "string" or contains: "random" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testStringForMatching2(), composed2 )
|
|
with expansion:
|
|
"some completely different text that contains one common word" ( contains:
|
|
"string" or contains: "random" or contains: "different" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Composed matchers shortcircuit
|
|
&&
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( 1, !(first && second) )
|
|
with expansion:
|
|
1 not ( CheckedTestingMatcher set to fail and CheckedTestingMatcher set to
|
|
fail )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( first.matchCalled )
|
|
with expansion:
|
|
true
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !second.matchCalled )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Composed matchers shortcircuit
|
|
||
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( 1, first || second )
|
|
with expansion:
|
|
1 ( CheckedTestingMatcher set to succeed or CheckedTestingMatcher set to fail
|
|
)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( first.matchCalled )
|
|
with expansion:
|
|
true
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( !second.matchCalled )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Contains string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Contains("not there", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "not there" (case
|
|
insensitive)
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Contains("STRING") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "STRING"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
from var and iterators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
From a temporary container
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( elem % 2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Copy and then generate a range
|
|
Final validation
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( call_count == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( make_data().size() == test_count )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Custom exceptions can be translated when testing for nothrow
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_NOTHROW( throwCustom() )
|
|
due to unexpected exception with message:
|
|
custom exception - not std
|
|
|
|
-------------------------------------------------------------------------------
|
|
Custom exceptions can be translated when testing for throwing as something else
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_AS( throwCustom(), std::exception )
|
|
due to unexpected exception with message:
|
|
custom exception - not std
|
|
|
|
-------------------------------------------------------------------------------
|
|
Custom std-exceptions can be custom translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
custom std exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Default scale is invisible to comparison
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 101.000001 != Approx(100).epsilon(0.01) )
|
|
with expansion:
|
|
101.000001 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::pow(10, -5) != Approx(std::pow(10, -7)) )
|
|
with expansion:
|
|
0.00001 != Approx( 0.0000001 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Directly creating an EnumInfo
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(0) == "Value1" )
|
|
with expansion:
|
|
Value1 == "Value1"
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(1) == "Value2" )
|
|
with expansion:
|
|
Value2 == "Value2"
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(3) == "{** unexpected enum value **}" )
|
|
with expansion:
|
|
{** unexpected enum value **}
|
|
==
|
|
"{** unexpected enum value **}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
EndsWith string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), EndsWith("Substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ends with: "Substring"
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), EndsWith("this", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ends with: "this" (case
|
|
insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Enums can quickly have stringification enabled using REGISTER_ENUM
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value1 ) == "Value1" )
|
|
with expansion:
|
|
"Value1" == "Value1"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value2 ) == "Value2" )
|
|
with expansion:
|
|
"Value2" == "Value2"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value3 ) == "Value3" )
|
|
with expansion:
|
|
"Value3" == "Value3"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value4 ) == "{** unexpected enum value **}" )
|
|
with expansion:
|
|
"{** unexpected enum value **}"
|
|
==
|
|
"{** unexpected enum value **}"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( ec3 ) == "Value2" )
|
|
with expansion:
|
|
"Value2" == "Value2"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Enums in namespaces can quickly have stringification enabled using
|
|
REGISTER_ENUM
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( Bikeshed::Colours::Red ) == "Red" )
|
|
with expansion:
|
|
"Red" == "Red"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( Bikeshed::Colours::Blue ) == "Blue" )
|
|
with expansion:
|
|
"Blue" == "Blue"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Epsilon only applies to Approx's value
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 101.01 != Approx(100).epsilon(0.01) )
|
|
with expansion:
|
|
101.01 != Approx( 100.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equality checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 6 )
|
|
with expansion:
|
|
7 == 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 8 )
|
|
with expansion:
|
|
7 == 8
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 0 )
|
|
with expansion:
|
|
7 == 0
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 9.11f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.1099996567 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 9.0f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 1 ) )
|
|
with expansion:
|
|
9.1f == Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 0 ) )
|
|
with expansion:
|
|
9.1f == Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi == Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.1415926535 == Approx( 3.1415 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "goodbye" )
|
|
with expansion:
|
|
"hello" == "goodbye"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "hell" )
|
|
with expansion:
|
|
"hello" == "hell"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "hello1" )
|
|
with expansion:
|
|
"hello" == "hello1"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello.size() == 6 )
|
|
with expansion:
|
|
5 == 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( x == Approx( 1.301 ) )
|
|
with expansion:
|
|
1.3 == Approx( 1.301 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equality checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven == 7 )
|
|
with expansion:
|
|
7 == 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one == Approx( 9.1f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.1000003815 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi == Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.1415926535 == Approx( 3.1415926535 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello == "hello" )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( "hello" == data.str_hello )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x == Approx( 1.3 ) )
|
|
with expansion:
|
|
1.3 == Approx( 1.3 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Equals("this string contains 'abc' as a substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'abc' as a substring"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Equals("this string contains 'ABC' as a substring", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'abc' as a substring" (case insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equals string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Equals("this string contains 'ABC' as a substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'ABC' as a substring"
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Equals("something else", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "something else" (case
|
|
insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception as a value (e.g. in REQUIRE_THROWS_MATCHES) can be stringified
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(WhatException{}) == "This exception has overridden what() method" )
|
|
with expansion:
|
|
"This exception has overridden what() method"
|
|
==
|
|
"This exception has overridden what() method"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(OperatorException{}) == "OperatorException" )
|
|
with expansion:
|
|
"OperatorException" == "OperatorException"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(StringMakerException{}) == "StringMakerException" )
|
|
with expansion:
|
|
"StringMakerException"
|
|
==
|
|
"StringMakerException"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
No exception
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( doesNotThrow(), SpecialException, ExceptionMatcher{1} )
|
|
because no exception was thrown where one was expected:
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( doesNotThrow(), SpecialException, ExceptionMatcher{1} )
|
|
because no exception was thrown where one was expected:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
Type mismatch
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( throwsAsInt(1), SpecialException, ExceptionMatcher{1} )
|
|
due to unexpected exception with message:
|
|
Unknown exception
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( throwsAsInt(1), SpecialException, ExceptionMatcher{1} )
|
|
due to unexpected exception with message:
|
|
Unknown exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
Contents are wrong
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( throwsSpecialException(3), SpecialException, ExceptionMatcher{1} )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException(4), SpecialException, ExceptionMatcher{1} )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that succeed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS_MATCHES( throwsSpecialException(1), SpecialException, ExceptionMatcher{1} )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException(2), SpecialException, ExceptionMatcher{2} )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception messages can be tested for
|
|
exact match
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" )
|
|
with expansion:
|
|
"expected exception" equals: "expected exception"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception messages can be tested for
|
|
different case
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) )
|
|
with expansion:
|
|
"expected exception" equals: "expected exception" (case insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception messages can be tested for
|
|
wildcarded
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), StartsWith( "expected" ) )
|
|
with expansion:
|
|
"expected exception" starts with: "expected"
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), EndsWith( "exception" ) )
|
|
with expansion:
|
|
"expected exception" ends with: "exception"
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), Contains( "except" ) )
|
|
with expansion:
|
|
"expected exception" contains: "except"
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), Contains( "exCept", Catch::CaseSensitive::No ) )
|
|
with expansion:
|
|
"expected exception" contains: "except" (case insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exceptions matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsDerivedException(), DerivedException, Message("DerivedException::what") )
|
|
with expansion:
|
|
DerivedException::what exception message matches "DerivedException::what"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsDerivedException(), DerivedException, !Message("derivedexception::what") )
|
|
with expansion:
|
|
DerivedException::what not exception message matches "derivedexception::what"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException(2), SpecialException, !Message("DerivedException::what") )
|
|
with expansion:
|
|
SpecialException::what not exception message matches "DerivedException::what"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException(2), SpecialException, Message("SpecialException::what") )
|
|
with expansion:
|
|
SpecialException::what exception message matches "SpecialException::what"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Expected exceptions that don't throw or unexpected exceptions fail the test
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_AS( thisThrows(), std::string )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_AS( thisDoesntThrow(), std::domain_error )
|
|
because no exception was thrown where one was expected:
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK_NOTHROW( thisThrows() )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
FAIL aborts the test
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
This is a failure
|
|
|
|
-------------------------------------------------------------------------------
|
|
FAIL does not require an argument
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
FAIL_CHECK does not abort the test
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
This is a failure
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
This message appears in the output
|
|
|
|
-------------------------------------------------------------------------------
|
|
Factorials are computed
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Factorial(0) == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Factorial(1) == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Factorial(2) == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Factorial(3) == 6 )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Factorial(10) == 3628800 )
|
|
with expansion:
|
|
3628800 (0x<hex digits>) == 3628800 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Relative
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10., WithinRel(11.1, 0.1) )
|
|
with expansion:
|
|
10.0 and 11.1 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10., !WithinRel(11.2, 0.1) )
|
|
with expansion:
|
|
10.0 not and 11.2 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !WithinRel(0., 0.99) )
|
|
with expansion:
|
|
1.0 not and 0 are within 99% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0., WithinRel(0.) )
|
|
with expansion:
|
|
-0.0 and 0 are within 2.22045e-12% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Relative
|
|
Some subnormal values
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, WithinRel(v2) )
|
|
with expansion:
|
|
0.0 and 2.22507e-308 are within 2.22045e-12% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Margin
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs(1., 0) )
|
|
with expansion:
|
|
1.0 is within 0.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., WithinAbs(1., 1) )
|
|
with expansion:
|
|
0.0 is within 1.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., !WithinAbs(1., 0.99) )
|
|
with expansion:
|
|
0.0 not is within 0.99 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., !WithinAbs(1., 0.99) )
|
|
with expansion:
|
|
0.0 not is within 0.99 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 11., !WithinAbs(10., 0.5) )
|
|
with expansion:
|
|
11.0 not is within 0.5 of 10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10., !WithinAbs(11., 0.5) )
|
|
with expansion:
|
|
10.0 not is within 0.5 of 11.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10., WithinAbs(-10., 0.5) )
|
|
with expansion:
|
|
-10.0 is within 0.5 of -10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10., WithinAbs(-9.6, 0.5) )
|
|
with expansion:
|
|
-10.0 is within 0.5 of -9.6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
ULPs
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP(1., 0) )
|
|
with expansion:
|
|
1.0 is within 0 ULPs of 1.0000000000000000e+00 ([1.0000000000000000e+00, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( nextafter(1., 2.), WithinULP(1., 1) )
|
|
with expansion:
|
|
1.0 is within 1 ULPs of 1.0000000000000000e+00 ([9.9999999999999989e-01, 1.
|
|
0000000000000002e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., WithinULP(nextafter(0., 1.), 1) )
|
|
with expansion:
|
|
0.0 is within 1 ULPs of 4.9406564584124654e-324 ([0.0000000000000000e+00, 9.
|
|
8813129168249309e-324])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP(nextafter(1., 0.), 1) )
|
|
with expansion:
|
|
1.0 is within 1 ULPs of 9.9999999999999989e-01 ([9.9999999999999978e-01, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !WithinULP(nextafter(1., 2.), 0) )
|
|
with expansion:
|
|
1.0 not is within 0 ULPs of 1.0000000000000002e+00 ([1.0000000000000002e+00,
|
|
1.0000000000000002e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP(1., 0) )
|
|
with expansion:
|
|
1.0 is within 0 ULPs of 1.0000000000000000e+00 ([1.0000000000000000e+00, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0., WithinULP(0., 0) )
|
|
with expansion:
|
|
-0.0 is within 0 ULPs of 0.0000000000000000e+00 ([0.0000000000000000e+00, 0.
|
|
0000000000000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs(1., 0.5) || WithinULP(2., 1) )
|
|
with expansion:
|
|
1.0 ( is within 0.5 of 1.0 or is within 1 ULPs of 2.0000000000000000e+00 ([1.
|
|
9999999999999998e+00, 2.0000000000000004e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs(2., 0.5) || WithinULP(1., 0) )
|
|
with expansion:
|
|
1.0 ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0000000000000000e+00 ([1.
|
|
0000000000000000e+00, 1.0000000000000000e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.0001, WithinAbs(0., 0.001) || WithinRel(0., 0.1) )
|
|
with expansion:
|
|
0.0001 ( is within 0.001 of 0.0 or and 0 are within 10% of each other )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Constructor validation
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinAbs(1., 0.) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinAbs(1., -1.), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinULP(1., 0) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinRel(1., 0.) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel(1., -0.2), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel(1., 1.), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Relative
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10.f, WithinRel(11.1f, 0.1f) )
|
|
with expansion:
|
|
10.0f and 11.1 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10.f, !WithinRel(11.2f, 0.1f) )
|
|
with expansion:
|
|
10.0f not and 11.2 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, !WithinRel(0.f, 0.99f) )
|
|
with expansion:
|
|
1.0f not and 0 are within 99% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0.f, WithinRel(0.f) )
|
|
with expansion:
|
|
-0.0f and 0 are within 0.00119209% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Relative
|
|
Some subnormal values
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, WithinRel(v2) )
|
|
with expansion:
|
|
0.0f and 1.17549e-38 are within 0.00119209% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Margin
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs(1.f, 0) )
|
|
with expansion:
|
|
1.0f is within 0.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinAbs(1.f, 1) )
|
|
with expansion:
|
|
0.0f is within 1.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, !WithinAbs(1.f, 0.99f) )
|
|
with expansion:
|
|
0.0f not is within 0.9900000095 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, !WithinAbs(1.f, 0.99f) )
|
|
with expansion:
|
|
0.0f not is within 0.9900000095 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinAbs(-0.f, 0) )
|
|
with expansion:
|
|
0.0f is within 0.0 of -0.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 11.f, !WithinAbs(10.f, 0.5f) )
|
|
with expansion:
|
|
11.0f not is within 0.5 of 10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10.f, !WithinAbs(11.f, 0.5f) )
|
|
with expansion:
|
|
10.0f not is within 0.5 of 11.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10.f, WithinAbs(-10.f, 0.5f) )
|
|
with expansion:
|
|
-10.0f is within 0.5 of -10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10.f, WithinAbs(-9.6f, 0.5f) )
|
|
with expansion:
|
|
-10.0f is within 0.5 of -9.6000003815
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
ULPs
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP(1.f, 0) )
|
|
with expansion:
|
|
1.0f is within 0 ULPs of 1.00000000e+00f ([1.00000000e+00, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( nextafter(1.f, 2.f), WithinULP(1.f, 1) )
|
|
with expansion:
|
|
1.0f is within 1 ULPs of 1.00000000e+00f ([9.99999940e-01, 1.00000012e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinULP(nextafter(0.f, 1.f), 1) )
|
|
with expansion:
|
|
0.0f is within 1 ULPs of 1.40129846e-45f ([0.00000000e+00, 2.80259693e-45])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP(nextafter(1.f, 0.f), 1) )
|
|
with expansion:
|
|
1.0f is within 1 ULPs of 9.99999940e-01f ([9.99999881e-01, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, !WithinULP(nextafter(1.f, 2.f), 0) )
|
|
with expansion:
|
|
1.0f not is within 0 ULPs of 1.00000012e+00f ([1.00000012e+00, 1.00000012e+
|
|
00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP(1.f, 0) )
|
|
with expansion:
|
|
1.0f is within 0 ULPs of 1.00000000e+00f ([1.00000000e+00, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0.f, WithinULP(0.f, 0) )
|
|
with expansion:
|
|
-0.0f is within 0 ULPs of 0.00000000e+00f ([0.00000000e+00, 0.00000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs(1.f, 0.5) || WithinULP(1.f, 1) )
|
|
with expansion:
|
|
1.0f ( is within 0.5 of 1.0 or is within 1 ULPs of 1.00000000e+00f ([9.
|
|
99999940e-01, 1.00000012e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs(2.f, 0.5) || WithinULP(1.f, 0) )
|
|
with expansion:
|
|
1.0f ( is within 0.5 of 2.0 or is within 0 ULPs of 1.00000000e+00f ([1.
|
|
00000000e+00, 1.00000000e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.0001f, WithinAbs(0.f, 0.001f) || WithinRel(0.f, 0.1f) )
|
|
with expansion:
|
|
0.0001f ( is within 0.001 of 0.0 or and 0 are within 10% of each other )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Constructor validation
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinAbs(1.f, 0.f) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinAbs(1.f, -1.f), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinULP(1.f, 0) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinULP(1.f, static_cast<uint64_t>(-1)), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinRel(1.f, 0.f) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel(1.f, -0.2f), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel(1.f, 1.f), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Filtering by predicate
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Filtering by predicate
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Filtering by predicate
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Filtering by predicate
|
|
Throws if there are no matching values
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( filter([] (int) {return false; }, value(1)), Catch::GeneratorException )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Shortening a range
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 4 )
|
|
with expansion:
|
|
1 < 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Shortening a range
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 4 )
|
|
with expansion:
|
|
2 < 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Shortening a range
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 4 )
|
|
with expansion:
|
|
3 < 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Same type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Same type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Same type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different deduced type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different deduced type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Transforming elements
|
|
Different deduced type
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
2 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
3 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
2 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Repeating a generator
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j > 0 )
|
|
with expansion:
|
|
3 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Number of elements in source is divisible by chunk size
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() == chunk2.back() )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Number of elements in source is divisible by chunk size
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() == chunk2.back() )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Number of elements in source is divisible by chunk size
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() == chunk2.back() )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Number of elements in source is not divisible by chunk size
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() == chunk2.back() )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() < 3 )
|
|
with expansion:
|
|
1 < 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Number of elements in source is not divisible by chunk size
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() == chunk2.back() )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.front() < 3 )
|
|
with expansion:
|
|
2 < 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Chunk size of zero
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Chunk size of zero
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Chunk size of zero
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( chunk2.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- adapters
|
|
Chunking a generator into sized pieces
|
|
Throws on too small generators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( chunk(2, value(1)), Catch::GeneratorException )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-3 < 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-2 < 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-1 < 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
4 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
4 > 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
4 > 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-3 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-2 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-1 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
8 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
8 > 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
8 > 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-3 < 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-2 < 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( j < i )
|
|
with expansion:
|
|
-1 < 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
12 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
12 > 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators -- simple
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 4u * i > str.size() )
|
|
with expansion:
|
|
12 > 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Single value
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 123 )
|
|
with expansion:
|
|
123 == 123
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Preset values
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Generator combinator
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 4 )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Explicitly typed generator sequence
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get().size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == "aa" )
|
|
with expansion:
|
|
"aa" == "aa"
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == "bb" )
|
|
with expansion:
|
|
"bb" == "bb"
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == "cc" )
|
|
with expansion:
|
|
"cc" == "cc"
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Filter generator
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( filter([] (int) { return false; }, value(1)), Catch::GeneratorException )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Take generator
|
|
Take less
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Take generator
|
|
Take more
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Map with explicit return type
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2.0 )
|
|
with expansion:
|
|
2.0 == 2.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 4.0 )
|
|
with expansion:
|
|
4.0 == 4.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 6.0 )
|
|
with expansion:
|
|
6.0 == 6.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Map with deduced return type
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2.0 )
|
|
with expansion:
|
|
2.0 == 2.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 4.0 )
|
|
with expansion:
|
|
4.0 == 4.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 6.0 )
|
|
with expansion:
|
|
6.0 == 6.0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Repeat
|
|
Singular repeat
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Repeat
|
|
Actual repeat
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive auto step
|
|
Integer
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -2 )
|
|
with expansion:
|
|
-2 == -2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative auto step
|
|
Integer
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Integer
|
|
Exact
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -7 )
|
|
with expansion:
|
|
-7 == -7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Integer
|
|
Slightly over end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -7 )
|
|
with expansion:
|
|
-7 == -7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Integer
|
|
Slightly under end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -7 )
|
|
with expansion:
|
|
-7 == -7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Floating Point
|
|
Exact
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-1.0 == Approx( -1.0 )
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.9 == Approx( -0.9 )
|
|
with message:
|
|
Current expected value is -0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.8 == Approx( -0.8 )
|
|
with message:
|
|
Current expected value is -0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.6 == Approx( -0.6 )
|
|
with message:
|
|
Current expected value is -0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.5 == Approx( -0.5 )
|
|
with message:
|
|
Current expected value is -0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.3 == Approx( -0.3 )
|
|
with message:
|
|
Current expected value is -0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.2 == Approx( -0.2 )
|
|
with message:
|
|
Current expected value is -0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.0 == Approx( -0.0 )
|
|
with message:
|
|
Current expected value is -1.38778e-16
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1.38778e-16
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.1 == Approx( 0.1 )
|
|
with message:
|
|
Current expected value is 0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.3 == Approx( 0.3 )
|
|
with message:
|
|
Current expected value is 0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.4 == Approx( 0.4 )
|
|
with message:
|
|
Current expected value is 0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.6 == Approx( 0.6 )
|
|
with message:
|
|
Current expected value is 0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.7 == Approx( 0.7 )
|
|
with message:
|
|
Current expected value is 0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.8 == Approx( 0.8 )
|
|
with message:
|
|
Current expected value is 0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.9 == Approx( 0.9 )
|
|
with message:
|
|
Current expected value is 0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx( rangeEnd ) )
|
|
with expansion:
|
|
1.0 == Approx( 1.0 )
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Floating Point
|
|
Slightly over end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-1.0 == Approx( -1.0 )
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Floating Point
|
|
Slightly under end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-1.0 == Approx( -1.0 )
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Exact
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Slightly over end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Slightly under end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -7 )
|
|
with expansion:
|
|
-7 == -7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Greater-than inequalities with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d >= Approx( 1.24 ) )
|
|
with expansion:
|
|
!(1.23 >= Approx( 1.24 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.24 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.24 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
INFO and WARN do not abort tests
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
this is a message
|
|
this is a warning
|
|
|
|
|
|
No assertions in test case 'INFO and WARN do not abort tests'
|
|
|
|
-------------------------------------------------------------------------------
|
|
INFO gets logged on failure
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( a == 1 )
|
|
with expansion:
|
|
2 == 1
|
|
with messages:
|
|
this message should be logged
|
|
so should this
|
|
|
|
-------------------------------------------------------------------------------
|
|
INFO gets logged on failure, even if captured before successful assertions
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( a == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
with message:
|
|
this message may be logged later
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( a == 1 )
|
|
with expansion:
|
|
2 == 1
|
|
with messages:
|
|
this message may be logged later
|
|
this message should be logged
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( a == 0 )
|
|
with expansion:
|
|
2 == 0
|
|
with messages:
|
|
this message may be logged later
|
|
this message should be logged
|
|
and this, but later
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( a == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
with messages:
|
|
this message may be logged later
|
|
this message should be logged
|
|
and this, but later
|
|
but not this
|
|
|
|
-------------------------------------------------------------------------------
|
|
INFO is reset for each loop
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
0 < 10
|
|
with messages:
|
|
current counter 0
|
|
i := 0
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
1 < 10
|
|
with messages:
|
|
current counter 1
|
|
i := 1
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
2 < 10
|
|
with messages:
|
|
current counter 2
|
|
i := 2
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
3 < 10
|
|
with messages:
|
|
current counter 3
|
|
i := 3
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
4 < 10
|
|
with messages:
|
|
current counter 4
|
|
i := 4
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
5 < 10
|
|
with messages:
|
|
current counter 5
|
|
i := 5
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
6 < 10
|
|
with messages:
|
|
current counter 6
|
|
i := 6
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
7 < 10
|
|
with messages:
|
|
current counter 7
|
|
i := 7
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
8 < 10
|
|
with messages:
|
|
current counter 8
|
|
i := 8
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
9 < 10
|
|
with messages:
|
|
current counter 9
|
|
i := 9
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( i < 10 )
|
|
with expansion:
|
|
10 < 10
|
|
with messages:
|
|
current counter 10
|
|
i := 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
Inequality checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven != 7 )
|
|
with expansion:
|
|
7 != 7
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one != Approx( 9.1f ) )
|
|
with expansion:
|
|
9.1f != Approx( 9.1000003815 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi != Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.1415926535 != Approx( 3.1415926535 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello != "hello" )
|
|
with expansion:
|
|
"hello" != "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello.size() != 5 )
|
|
with expansion:
|
|
5 != 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
Inequality checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven != 6 )
|
|
with expansion:
|
|
7 != 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven != 8 )
|
|
with expansion:
|
|
7 != 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 9.11f ) )
|
|
with expansion:
|
|
9.1f != Approx( 9.1099996567 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 9.0f ) )
|
|
with expansion:
|
|
9.1f != Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 1 ) )
|
|
with expansion:
|
|
9.1f != Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 0 ) )
|
|
with expansion:
|
|
9.1f != Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi != Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.1415926535 != Approx( 3.1415 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "goodbye" )
|
|
with expansion:
|
|
"hello" != "goodbye"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "hell" )
|
|
with expansion:
|
|
"hello" != "hell"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "hello1" )
|
|
with expansion:
|
|
"hello" != "hello1"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello.size() != 6 )
|
|
with expansion:
|
|
5 != 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Lambdas in assertions
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( []() { return true; }() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Less-than inequalities with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.24 ) )
|
|
with expansion:
|
|
1.23 <= Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 <= Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d <= Approx( 1.22 ) )
|
|
with expansion:
|
|
!(1.23 <= Approx( 1.22 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.22 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.23 <= Approx( 1.22 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
ManuallyRegistered
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
was called
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be (AllOf) composed with the && operator
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Contains("string") && Contains("abc") && Contains("substring") && Contains("contains") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ( contains: "string" and
|
|
contains: "abc" and contains: "substring" and contains: "contains" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be (AnyOf) composed with the || operator
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Contains("string") || Contains("different") || Contains("random") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ( contains: "string" or contains:
|
|
"different" or contains: "random" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching2(), Contains("string") || Contains("different") || Contains("random") )
|
|
with expansion:
|
|
"some completely different text that contains one common word" ( contains:
|
|
"string" or contains: "different" or contains: "random" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be composed with both && and ||
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), (Contains("string") || Contains("different")) && Contains("substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ( ( contains: "string" or
|
|
contains: "different" ) and contains: "substring" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be composed with both && and || - failing
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), (Contains("string") || Contains("different")) && Contains("random") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ( ( contains: "string" or
|
|
contains: "different" ) and contains: "random" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be negated (Not) with the ! operator
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), !Contains("different") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" not contains: "different"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be negated (Not) with the ! operator - failing
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), !Contains("substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" not contains: "substring"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Mismatching exception messages failing the test
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" )
|
|
with expansion:
|
|
"expected exception" equals: "expected exception"
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), "should fail" )
|
|
with expansion:
|
|
"expected exception" equals: "should fail"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
3 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
4 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
5 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
6 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
-5 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
-4 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
90 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
91 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
92 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
93 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
94 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
95 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
96 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
97 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
98 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nested generators and captured variables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( values > -6 )
|
|
with expansion:
|
|
99 > -6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Nice descriptive name
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: warning:
|
|
This one ran
|
|
|
|
|
|
No assertions in test case 'Nice descriptive name'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Non-std exceptions can be translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
custom exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Objects that evaluated in boolean contexts can be checked
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK( True )
|
|
with expansion:
|
|
{?}
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK( !False )
|
|
with expansion:
|
|
true
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( False )
|
|
with expansion:
|
|
!{?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Optionally static assertions
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_void<void>::value
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(std::is_void<int>::value)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Ordering comparison checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven > 7 )
|
|
with expansion:
|
|
7 > 7
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven < 7 )
|
|
with expansion:
|
|
7 < 7
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven > 8 )
|
|
with expansion:
|
|
7 > 8
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven < 6 )
|
|
with expansion:
|
|
7 < 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven < 0 )
|
|
with expansion:
|
|
7 < 0
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven < -1 )
|
|
with expansion:
|
|
7 < -1
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven >= 8 )
|
|
with expansion:
|
|
7 >= 8
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven <= 6 )
|
|
with expansion:
|
|
7 <= 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one < 9 )
|
|
with expansion:
|
|
9.1f < 9
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 10 )
|
|
with expansion:
|
|
9.1f > 10
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 9.2 )
|
|
with expansion:
|
|
9.1f > 9.2
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "hello" )
|
|
with expansion:
|
|
"hello" > "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "hello" )
|
|
with expansion:
|
|
"hello" < "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "hellp" )
|
|
with expansion:
|
|
"hello" > "hellp"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "z" )
|
|
with expansion:
|
|
"hello" > "z"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "hellm" )
|
|
with expansion:
|
|
"hello" < "hellm"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "a" )
|
|
with expansion:
|
|
"hello" < "a"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello >= "z" )
|
|
with expansion:
|
|
"hello" >= "z"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello <= "a" )
|
|
with expansion:
|
|
"hello" <= "a"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Ordering comparison checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven < 8 )
|
|
with expansion:
|
|
7 < 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > 6 )
|
|
with expansion:
|
|
7 > 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > 0 )
|
|
with expansion:
|
|
7 > 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > -1 )
|
|
with expansion:
|
|
7 > -1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven >= 7 )
|
|
with expansion:
|
|
7 >= 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven >= 6 )
|
|
with expansion:
|
|
7 >= 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven <= 7 )
|
|
with expansion:
|
|
7 <= 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven <= 8 )
|
|
with expansion:
|
|
7 <= 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one > 9 )
|
|
with expansion:
|
|
9.1f > 9
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 10 )
|
|
with expansion:
|
|
9.1f < 10
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 9.2 )
|
|
with expansion:
|
|
9.1f < 9.2
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello <= "hello" )
|
|
with expansion:
|
|
"hello" <= "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello >= "hello" )
|
|
with expansion:
|
|
"hello" >= "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello < "hellp" )
|
|
with expansion:
|
|
"hello" < "hellp"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello < "zebra" )
|
|
with expansion:
|
|
"hello" < "zebra"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello > "hellm" )
|
|
with expansion:
|
|
"hello" > "hellm"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello > "a" )
|
|
with expansion:
|
|
"hello" > "a"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Our PCG implementation provides expected results for known seeds
|
|
Default seeded
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4242248763 (0x<hex digits>)
|
|
==
|
|
4242248763 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1867888929 (0x<hex digits>)
|
|
==
|
|
1867888929 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1276619030 (0x<hex digits>)
|
|
==
|
|
1276619030 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1911218783 (0x<hex digits>)
|
|
==
|
|
1911218783 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1827115164 (0x<hex digits>)
|
|
==
|
|
1827115164 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Our PCG implementation provides expected results for known seeds
|
|
Specific seed
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1472234645 (0x<hex digits>)
|
|
==
|
|
1472234645 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
868832940 (0x<hex digits>)
|
|
==
|
|
868832940 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
570883446 (0x<hex digits>)
|
|
==
|
|
570883446 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
889299803 (0x<hex digits>)
|
|
==
|
|
889299803 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4261393167 (0x<hex digits>)
|
|
==
|
|
4261393167 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1472234645 (0x<hex digits>)
|
|
==
|
|
1472234645 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
868832940 (0x<hex digits>)
|
|
==
|
|
868832940 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
570883446 (0x<hex digits>)
|
|
==
|
|
570883446 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
889299803 (0x<hex digits>)
|
|
==
|
|
889299803 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4261393167 (0x<hex digits>)
|
|
==
|
|
4261393167 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Output from all sections is reported
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
Message from section one
|
|
|
|
-------------------------------------------------------------------------------
|
|
Output from all sections is reported
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
Message from section two
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Empty test spec should have no filters
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Test spec from empty string should have no filters
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches(tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Test spec from just a comma should have no filters
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Test spec from name should have one filter
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Test spec from quoted name should have one filter
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Test spec from name should have one filter
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Wildcard at the start
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( parseTestSpec( "*a" ).matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Wildcard at the end
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( parseTestSpec( "a*" ).matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Wildcard at both ends
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( parseTestSpec( "*a*" ).matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Redundant wildcard at the start
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Redundant wildcard at the end
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Redundant wildcard at both ends
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Wildcard at both ends, redundant at start
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Just wildcard
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Single tag
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Single tag, two matches
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Two tags
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Two tags, spare separated
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Wildcarded name and tag
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Single tag exclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
One tag exclusion and one tag inclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
One tag exclusion and one wldcarded name inclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
One tag exclusion, using exclude:, and one wldcarded name inclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
name exclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
wildcarded name exclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
wildcarded name exclusion with tag inclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
wildcarded name exclusion, using exclude:, with tag inclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
two wildcarded names
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
empty tag
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
empty quoted name
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
quoted string followed by tag exclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.hasFilters() == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcA ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcB ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcC ) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( tcD ) == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Leading and trailing spaces in test spec
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark" ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( "aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( "aardvark" ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Leading and trailing spaces in test name
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark" ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( " aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( "aardvark " ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches( fakeTestCase( "aardvark" ) ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Shortened hide tags are split apart when parsing
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches(fakeTestCase("hidden and foo", "[.][foo]")) )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( spec.matches(fakeTestCase("only foo", "[foo]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse test names and tags
|
|
Shortened hide tags also properly handle exclusion
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( spec.matches(fakeTestCase("hidden and foo", "[.][foo]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( spec.matches(fakeTestCase("only foo", "[foo]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( spec.matches(fakeTestCase("only hidden", "[.]")) )
|
|
with expansion:
|
|
!false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( spec.matches(fakeTestCase("neither foo nor hidden", "[bar]")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Pointers can be compared to null
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( p == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( p == pNULL )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( p != 0 )
|
|
with expansion:
|
|
0x<hex digits> != 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cp != 0 )
|
|
with expansion:
|
|
0x<hex digits> != 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cpc != 0 )
|
|
with expansion:
|
|
0x<hex digits> != 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( returnsNull() == 0 )
|
|
with expansion:
|
|
{null string} == 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( returnsConstNull() == 0 )
|
|
with expansion:
|
|
{null string} == 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 != p )
|
|
with expansion:
|
|
0 != 0x<hex digits>
|
|
|
|
-------------------------------------------------------------------------------
|
|
Precision of floating point stringification can be set
|
|
Floats
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( str1.size() == 3 + 5 )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( str2.size() == 3 + 10 )
|
|
with expansion:
|
|
13 == 13
|
|
|
|
-------------------------------------------------------------------------------
|
|
Precision of floating point stringification can be set
|
|
Double
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( str1.size() == 2 + 5 )
|
|
with expansion:
|
|
7 == 7
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( str2.size() == 2 + 15 )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
-------------------------------------------------------------------------------
|
|
Predicate matcher can accept const char*
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "foo", Predicate<const char*>([] (const char* const&) { return true; }) )
|
|
with expansion:
|
|
"foo" matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
empty args don't cause a crash
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.processName == "" )
|
|
with expansion:
|
|
"" == ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
default - no arguments
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.processName == "test" )
|
|
with expansion:
|
|
"test" == "test"
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.shouldDebugBreak == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.abortAfter == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.noThrow == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.reporterName == "console" )
|
|
with expansion:
|
|
"console" == "console"
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( cfg.hasTestFilters() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
test lists
|
|
Specify one test case using
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.hasTestFilters() )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("notIncluded")) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("test1")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
test lists
|
|
Specify one test case exclusion using exclude:
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.hasTestFilters() )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("test1")) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("alwaysIncluded")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
test lists
|
|
Specify one test case exclusion using ~
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.hasTestFilters() )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("test1")) == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cfg.testSpec().matches(fakeTestCase("alwaysIncluded")) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
-r/console
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-r", "console"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterName == "console" )
|
|
with expansion:
|
|
"console" == "console"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
-r/xml
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-r", "xml"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterName == "xml" )
|
|
with expansion:
|
|
"xml" == "xml"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
--reporter/junit
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--reporter", "junit"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterName == "junit" )
|
|
with expansion:
|
|
"junit" == "junit"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
Only one reporter is accepted
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( cli.parse({ "test", "-r", "xml", "-r", "junit" }) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
must match one of the available ones
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( !result )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), Contains("Unrecognized reporter") )
|
|
with expansion:
|
|
"Unrecognized reporter, 'unsupported'. Check available with --list-reporters"
|
|
contains: "Unrecognized reporter"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
debugger
|
|
-b
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-b"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.shouldDebugBreak == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
debugger
|
|
--break
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--break"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.shouldDebugBreak )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
-a aborts after first failure
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-a"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.abortAfter == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
-x 2 aborts after two failures
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-x", "2"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.abortAfter == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
-x must be numeric
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( !result )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), Contains("convert") && Contains("oops") )
|
|
with expansion:
|
|
"Unable to convert 'oops' to destination type" ( contains: "convert" and
|
|
contains: "oops" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
wait-for-keypress
|
|
Accepted options
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--wait-for-keypress", std::get<0>(input)}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.waitForKeypress == std::get<1>(input) )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
wait-for-keypress
|
|
Accepted options
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--wait-for-keypress", std::get<0>(input)}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.waitForKeypress == std::get<1>(input) )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
wait-for-keypress
|
|
Accepted options
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--wait-for-keypress", std::get<0>(input)}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.waitForKeypress == std::get<1>(input) )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
wait-for-keypress
|
|
Accepted options
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--wait-for-keypress", std::get<0>(input)}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.waitForKeypress == std::get<1>(input) )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
abort
|
|
wait-for-keypress
|
|
invalid options are reported
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( !result )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), Contains("never") && Contains("both") )
|
|
with expansion:
|
|
"keypress argument must be one of: never, start, exit or both. 'sometimes'
|
|
not recognised" ( contains: "never" and contains: "both" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
nothrow
|
|
-e
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-e"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.noThrow )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
nothrow
|
|
--nothrow
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--nothrow"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.noThrow )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
output filename
|
|
-o filename
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-o", "filename.ext"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.outputFilename == "filename.ext" )
|
|
with expansion:
|
|
"filename.ext" == "filename.ext"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
output filename
|
|
--out
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--out", "filename.ext"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.outputFilename == "filename.ext" )
|
|
with expansion:
|
|
"filename.ext" == "filename.ext"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
combinations
|
|
Single character flags can be combined
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "-abe"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.abortAfter == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.shouldDebugBreak )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( config.noThrow == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
use-colour
|
|
without option
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.useColour == UseColour::Auto )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
use-colour
|
|
auto
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--use-colour", "auto"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.useColour == UseColour::Auto )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
use-colour
|
|
yes
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--use-colour", "yes"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.useColour == UseColour::Yes )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
use-colour
|
|
no
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({"test", "--use-colour", "no"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.useColour == UseColour::No )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
use-colour
|
|
error
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( !result )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( result.errorMessage(), Contains( "colour mode must be one of" ) )
|
|
with expansion:
|
|
"colour mode must be one of: auto, yes or no. 'wrong' not recognised"
|
|
contains: "colour mode must be one of"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
samples
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-samples=200" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkSamples == 200 )
|
|
with expansion:
|
|
200 == 200
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
resamples
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-resamples=20000" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkResamples == 20000 )
|
|
with expansion:
|
|
20000 (0x<hex digits>) == 20000 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
confidence-interval
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-confidence-interval=0.99" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkConfidenceInterval == Catch::Detail::Approx(0.99) )
|
|
with expansion:
|
|
0.99 == Approx( 0.99 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
no-analysis
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-no-analysis" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkNoAnalysis )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
warmup-time
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-warmup-time=10" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkWarmupTime == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int, double, float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
3 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int, double>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
2 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
1 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reconstruction should be based on stringification: #914
|
|
-------------------------------------------------------------------------------
|
|
Decomposition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Decomposition.tests.cpp:<line number>: FAILED:
|
|
CHECK( truthy(false) )
|
|
with expansion:
|
|
Hey, its truthy!
|
|
|
|
-------------------------------------------------------------------------------
|
|
Regex string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Matches("this STRING contains 'abc' as a substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" matches "this STRING contains
|
|
'abc' as a substring" case sensitively
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Matches("contains 'abc' as a substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" matches "contains 'abc' as a
|
|
substring" case sensitively
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Matches("this string contains 'abc' as a") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" matches "this string contains
|
|
'abc' as a" case sensitively
|
|
|
|
-------------------------------------------------------------------------------
|
|
Regression test #1
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( actual, !UnorderedEquals(expected) )
|
|
with expansion:
|
|
{ 'a', 'b' } not UnorderedEquals: { 'c', 'b' }
|
|
|
|
-------------------------------------------------------------------------------
|
|
SUCCEED counts as a test pass
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
this is a success
|
|
|
|
-------------------------------------------------------------------------------
|
|
SUCCEED does not require an argument
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or
|
|
methods
|
|
Given: No operations precede me
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( before == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: BDD tests requiring Fixtures to provide commonly-accessed data or
|
|
methods
|
|
Given: No operations precede me
|
|
When: We get the count
|
|
Then: Subsequently values are higher
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( after > before )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Do that thing with the thing
|
|
Given: This stuff exists
|
|
And given: And some assumption
|
|
When: I do this
|
|
Then: it should do this
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( itDoesThis() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Do that thing with the thing
|
|
Given: This stuff exists
|
|
And given: And some assumption
|
|
When: I do this
|
|
Then: it should do this
|
|
And: do that
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( itDoesThat() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: This is a really long scenario name to see how the list command deals
|
|
with wrapping
|
|
Given: A section name that is so long that it cannot fit in a single
|
|
console width
|
|
When: The test headers are printed as part of the normal running of the
|
|
scenario
|
|
Then: The, deliberately very long and overly verbose (you see what I did
|
|
there?) section names must wrap, along with an indent
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
boo!
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Vector resizing affects size and capacity
|
|
Given: an empty vector
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Vector resizing affects size and capacity
|
|
Given: an empty vector
|
|
When: it is made larger
|
|
Then: the size and capacity go up
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Vector resizing affects size and capacity
|
|
Given: an empty vector
|
|
When: it is made larger
|
|
Then: the size and capacity go up
|
|
And when: it is made smaller again
|
|
Then: the size goes down but the capacity stays the same
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Vector resizing affects size and capacity
|
|
Given: an empty vector
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Scenario: Vector resizing affects size and capacity
|
|
Given: an empty vector
|
|
When: we reserve more space
|
|
Then: The capacity is increased but the size remains the same
|
|
-------------------------------------------------------------------------------
|
|
BDD.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
BDD.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
A string sent directly to stdout
|
|
A string sent directly to stderr
|
|
A string sent to stderr via clog
|
|
-------------------------------------------------------------------------------
|
|
Sends stuff to stdout and stderr
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'Sends stuff to stdout and stderr'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Some simple comparisons between doubles
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.24 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.23_a )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.23
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.22 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.22
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.24 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.24
|
|
|
|
Message from section one
|
|
-------------------------------------------------------------------------------
|
|
Standard output from all sections is reported
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'one'
|
|
|
|
Message from section two
|
|
-------------------------------------------------------------------------------
|
|
Standard output from all sections is reported
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'two'
|
|
|
|
-------------------------------------------------------------------------------
|
|
StartsWith string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), StartsWith("This String") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" starts with: "This String"
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), StartsWith("string", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" starts with: "string" (case
|
|
insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Static arrays are convertible to string
|
|
Single item
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify(singular) == "{ 1 }" )
|
|
with expansion:
|
|
"{ 1 }" == "{ 1 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Static arrays are convertible to string
|
|
Multiple
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify(arr) == "{ 3, 2, 1 }" )
|
|
with expansion:
|
|
"{ 3, 2, 1 }" == "{ 3, 2, 1 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Static arrays are convertible to string
|
|
Non-trivial inner items
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify(arr) == R"({ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } })" )
|
|
with expansion:
|
|
"{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }"
|
|
==
|
|
"{ { "1:1", "1:2", "1:3" }, { "2:1", "2:2" } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
String matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testStringForMatching(), Contains("string") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "string"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testStringForMatching(), Contains("string", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "string" (case
|
|
insensitive)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Contains("abc") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "abc"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Contains("aBC", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "abc" (case
|
|
insensitive)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), StartsWith("this") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" starts with: "this"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), StartsWith("THIS", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" starts with: "this" (case
|
|
insensitive)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), EndsWith("substring") )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ends with: "substring"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), EndsWith(" SuBsTrInG", Catch::CaseSensitive::No) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" ends with: " substring" (case
|
|
insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Empty string
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( empty.empty() )
|
|
with expansion:
|
|
true
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( empty.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( empty.isNullTerminated() )
|
|
with expansion:
|
|
true
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::strcmp( empty.c_str(), "" ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
From string literal
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.empty() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.isNullTerminated() )
|
|
with expansion:
|
|
true
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::strcmp( rawChars, "hello" ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( s.c_str() )
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.c_str() == rawChars )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.data() == rawChars )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
From sub-string
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( original == "original" )
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( original.isNullTerminated() )
|
|
with expansion:
|
|
!false
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( original.c_str() )
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( original.data() )
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
zero-based substring
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ss.empty() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ss.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::strncmp( ss.data(), "hello", 5 ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ss == "hello" )
|
|
with expansion:
|
|
hello == "hello"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
non-zero-based substring
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ss.size() == 6 )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::strcmp( ss.c_str(), "world!" ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
Pointer values of full refs should match
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.data() == s2.data() )
|
|
with expansion:
|
|
"hello world!" == "hello world!"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
Pointer values of substring refs should also match
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.data() == ss.data() )
|
|
with expansion:
|
|
"hello world!" == "hello world!"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
Past the end substring
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.substr(s.size() + 1, 123).empty() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
Substring off the end are trimmed
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::strcmp(ss.c_str(), "world!") == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Comparisons are deep
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
CHECK( (char*)buffer1 != (char*)buffer2 )
|
|
with expansion:
|
|
"Hello" != "Hello"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( left == right )
|
|
with expansion:
|
|
Hello == Hello
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( left != left.substr(0, 3) )
|
|
with expansion:
|
|
Hello != Hel
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
from std::string
|
|
implicitly constructed
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr == "a standard string" )
|
|
with expansion:
|
|
a standard string == "a standard string"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr.size() == stdStr.size() )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
from std::string
|
|
explicitly constructed
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr == "a standard string" )
|
|
with expansion:
|
|
a standard string == "a standard string"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr.size() == stdStr.size() )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
from std::string
|
|
assigned
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr == "a standard string" )
|
|
with expansion:
|
|
a standard string == "a standard string"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sr.size() == stdStr.size() )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
to std::string
|
|
explicitly constructed
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stdStr == "a stringref" )
|
|
with expansion:
|
|
"a stringref" == "a stringref"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stdStr.size() == sr.size() )
|
|
with expansion:
|
|
11 == 11
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
to std::string
|
|
assigned
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stdStr == "a stringref" )
|
|
with expansion:
|
|
"a stringref" == "a stringref"
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stdStr.size() == sr.size() )
|
|
with expansion:
|
|
11 == 11
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef at compilation time
|
|
Simple constructors
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
StringRef{}.size() == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
StringRef{ "abc", 3 }.size() == 3
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
StringRef{ "abc", 3 }.isNullTerminated()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
StringRef{ "abc", 2 }.size() == 2
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(StringRef{ "abc", 2 }.isNullTerminated())
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef at compilation time
|
|
UDL construction
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(sr1.empty())
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr1.size() == 3
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr1.isNullTerminated()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr2.empty()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr2.size() == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr2.isNullTerminated()
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying std::chrono::duration helpers
|
|
-------------------------------------------------------------------------------
|
|
ToStringChrono.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( minute == seconds )
|
|
with expansion:
|
|
1 m == 60 s
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( hour != seconds )
|
|
with expansion:
|
|
1 h != 60 s
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( micro != milli )
|
|
with expansion:
|
|
1 us != 1 ms
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( nano != micro )
|
|
with expansion:
|
|
1 ns != 1 us
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying std::chrono::duration with weird ratios
|
|
-------------------------------------------------------------------------------
|
|
ToStringChrono.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( half_minute != femto_second )
|
|
with expansion:
|
|
1 [30/1]s != 1 fs
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( pico_second != atto_second )
|
|
with expansion:
|
|
1 ps != 1 as
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying std::chrono::time_point<system_clock>
|
|
-------------------------------------------------------------------------------
|
|
ToStringChrono.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringChrono.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( now != later )
|
|
with expansion:
|
|
{iso8601-timestamp}
|
|
!=
|
|
{iso8601-timestamp}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tabs and newlines show in output
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( s1 == s2 )
|
|
with expansion:
|
|
"if ($b == 10) {
|
|
$a = 20;
|
|
}"
|
|
==
|
|
"if ($b == 10) {
|
|
$a = 20;
|
|
}
|
|
"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tag alias can be registered against tag patterns
|
|
The same tag alias can only be registered once
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( what, Contains( "[@zzz]" ) )
|
|
with expansion:
|
|
"error: tag alias, '[@zzz]' already registered.
|
|
First seen at: file:2
|
|
Redefined at: file:10" contains: "[@zzz]"
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( what, Contains( "file" ) )
|
|
with expansion:
|
|
"error: tag alias, '[@zzz]' already registered.
|
|
First seen at: file:2
|
|
Redefined at: file:10" contains: "file"
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( what, Contains( "2" ) )
|
|
with expansion:
|
|
"error: tag alias, '[@zzz]' already registered.
|
|
First seen at: file:2
|
|
Redefined at: file:10" contains: "2"
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( what, Contains( "10" ) )
|
|
with expansion:
|
|
"error: tag alias, '[@zzz]' already registered.
|
|
First seen at: file:2
|
|
Redefined at: file:10" contains: "10"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tag alias can be registered against tag patterns
|
|
Tag aliases must be of the form [@name]
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS( registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) )
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS( registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) )
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS( registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) )
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS( registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case method with test types specified inside std::tuple - MyTypes
|
|
- 0
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case method with test types specified inside std::tuple - MyTypes
|
|
- 1
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case method with test types specified inside std::tuple - MyTypes
|
|
- 2
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Template_Fixture<TestType>::m_a == 1 )
|
|
with expansion:
|
|
1.0 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-copyable and non-
|
|
movable std::tuple - NonCopyableAndNonMovableTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-copyable and non-
|
|
movable std::tuple - NonCopyableAndNonMovableTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-default-constructible
|
|
std::tuple - MyNonDefaultConstructibleTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-default-constructible
|
|
std::tuple - MyNonDefaultConstructibleTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
12 == 12
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
12 >= 12
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
12 >= 12
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
8 >= 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
8 >= 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
30 == 30
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
30 >= 30
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
30 >= 30
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
Test case with one argument
|
|
-------------------------------------------------------------------------------
|
|
VariadicMacros.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
VariadicMacros.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
no assertions
|
|
|
|
-------------------------------------------------------------------------------
|
|
Test enum bit values
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0x<hex digits> == bit30and31 )
|
|
with expansion:
|
|
3221225472 (0x<hex digits>) == 3221225472
|
|
|
|
-------------------------------------------------------------------------------
|
|
Test with special, characters "in name
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
The NO_FAIL macro reports a failure but does not fail the test
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED - but was ok:
|
|
CHECK_NOFAIL( 1 == 2 )
|
|
|
|
|
|
No assertions in test case 'The NO_FAIL macro reports a failure but does not fail the test'
|
|
|
|
-------------------------------------------------------------------------------
|
|
This test 'should' fail but doesn't
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
oops!
|
|
|
|
-------------------------------------------------------------------------------
|
|
Thrown string literals are translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
For some reason someone is throwing a string literal!
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
fail one section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
fail one section
|
|
re-enter after failed section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1b.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
fail one section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
fail one section
|
|
re-enter after failed section and find next section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1b.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
Re-enter - skips S1 and enters S2
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1b.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2b.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
Re-enter - skips S1 and enters S2
|
|
Successfully close S2
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2b.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
Re-enter - skips S1 and enters S2
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1b.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2b.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
successfully close one section, then find another
|
|
Re-enter - skips S1 and enters S2
|
|
fail S2
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ctx.completedCycle() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2b.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2b.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase2.isSuccessfullyCompleted() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase3.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1c.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2c.isOpen() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase3.isSuccessfullyCompleted() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tracker
|
|
open a nested section
|
|
-------------------------------------------------------------------------------
|
|
PartTracker.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2.isOpen() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s2.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s1.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
PartTracker.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.isComplete() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Trim strings
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(std::string(no_whitespace)) == no_whitespace )
|
|
with expansion:
|
|
"There is no extra whitespace here"
|
|
==
|
|
"There is no extra whitespace here"
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(std::string(leading_whitespace)) == no_whitespace )
|
|
with expansion:
|
|
"There is no extra whitespace here"
|
|
==
|
|
"There is no extra whitespace here"
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(std::string(trailing_whitespace)) == no_whitespace )
|
|
with expansion:
|
|
"There is no extra whitespace here"
|
|
==
|
|
"There is no extra whitespace here"
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(std::string(whitespace_at_both_ends)) == no_whitespace )
|
|
with expansion:
|
|
"There is no extra whitespace here"
|
|
==
|
|
"There is no extra whitespace here"
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(StringRef(no_whitespace)) == StringRef(no_whitespace) )
|
|
with expansion:
|
|
There is no extra whitespace here
|
|
==
|
|
There is no extra whitespace here
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(StringRef(leading_whitespace)) == StringRef(no_whitespace) )
|
|
with expansion:
|
|
There is no extra whitespace here
|
|
==
|
|
There is no extra whitespace here
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(StringRef(trailing_whitespace)) == StringRef(no_whitespace) )
|
|
with expansion:
|
|
There is no extra whitespace here
|
|
==
|
|
There is no extra whitespace here
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( trim(StringRef(whitespace_at_both_ends)) == StringRef(no_whitespace) )
|
|
with expansion:
|
|
There is no extra whitespace here
|
|
==
|
|
There is no extra whitespace here
|
|
|
|
-------------------------------------------------------------------------------
|
|
Unexpected exceptions can be translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
3.14
|
|
|
|
-------------------------------------------------------------------------------
|
|
Use a custom approx
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.24 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != approx( 1.25 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.23
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.22 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.22
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.24 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.24
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) != 1.25 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.25
|
|
|
|
-------------------------------------------------------------------------------
|
|
Variadic macros
|
|
Section with one argument
|
|
-------------------------------------------------------------------------------
|
|
VariadicMacros.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
VariadicMacros.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
no assertions
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Empty vector is roughly equal to an empty vector
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty, Approx(empty) )
|
|
with expansion:
|
|
{ } is approx: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
A vector is approx equal to itself
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx(v1) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.0, 2.0, 3.0 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx<double>({ 1., 2., 3. }) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.0, 2.0, 3.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
Different length
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, !Approx(temp) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } not is approx: { 1.0, 2.0, 3.0, 4.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
Same length, different elements
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, !Approx(v2) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } not is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx(v2).margin(0.5) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx(v2).epsilon(0.5) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx(v2).epsilon(0.1).scale(500) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher -- failing
|
|
Empty and non empty vectors are not approx equal
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Approx(t1) )
|
|
with expansion:
|
|
{ } is approx: { 1.0, 2.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher -- failing
|
|
Just different vectors
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v1, Approx(v2) )
|
|
with expansion:
|
|
{ 2.0, 4.0, 6.0 } is approx: { 1.0, 3.0, 5.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (element)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains(1) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 1
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains(2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 2
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, (VectorContains<int, CustomAllocator<int>>(2)) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (vector)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains(v2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains<int>({ 1, 2 }) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, (Contains<int, std::allocator<int>, CustomAllocator<int>>(v2)) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains(v2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains(empty) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, Contains(empty) )
|
|
with expansion:
|
|
{ } Contains: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, (Contains<int, std::allocator<int>, CustomAllocator<int>>(v2)) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, Contains(v6) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (element), composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains(1) && VectorContains(2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } ( Contains: 1 and Contains: 2 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals(v) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, Equals(empty) )
|
|
with expansion:
|
|
{ } Equals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals<int>({ 1, 2, 3 }) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals(v2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, (Equals<int, std::allocator<int>, CustomAllocator<int>>(v2)) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, Equals(v6) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
UnorderedEquals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, UnorderedEquals<int>({ 3, 2, 1 }) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 3, 2, 1 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, UnorderedEquals(empty) )
|
|
with expansion:
|
|
{ } UnorderedEquals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( permuted, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ 1, 3, 2 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( permuted, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ 2, 3, 1 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, (UnorderedEquals<int, std::allocator<int>, CustomAllocator<int>>(permuted)) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 2, 3, 1 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5_permuted, UnorderedEquals(v5) )
|
|
with expansion:
|
|
{ 1, 3, 2 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Contains (element)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, VectorContains(-1) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: -1
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, VectorContains(1) )
|
|
with expansion:
|
|
{ } Contains: 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Contains (vector)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Contains(v) )
|
|
with expansion:
|
|
{ } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Contains(v2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Equals(v2) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v2, Equals(v) )
|
|
with expansion:
|
|
{ 1, 2 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Equals(v) )
|
|
with expansion:
|
|
{ } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Equals(empty) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
UnorderedEquals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, UnorderedEquals(empty) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( permuted, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ 1, 3 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( permuted, UnorderedEquals(v) )
|
|
with expansion:
|
|
{ 3, 1 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
When checked exceptions are thrown they can be expected or unexpected
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( thisThrows(), std::domain_error )
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( thisDoesntThrow() )
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( thisThrows() )
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown directly they are always failures
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown during a CHECK the test should continue
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown during a REQUIRE the test should abort
|
|
fail
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown from functions they are always failures
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown from sections they are always failures
|
|
section name
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown, but caught, they do not affect the test
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'When unchecked exceptions are thrown, but caught, they do not affect the test'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Where the LHS is not a simple value
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: warning:
|
|
Uncomment the code in this test to check that it gives a sensible compiler
|
|
error
|
|
|
|
|
|
No assertions in test case 'Where the LHS is not a simple value'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Where there is more to the expression after the RHS
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: warning:
|
|
Uncomment the code in this test to check that it gives a sensible compiler
|
|
error
|
|
|
|
|
|
No assertions in test case 'Where there is more to the expression after the RHS'
|
|
|
|
-------------------------------------------------------------------------------
|
|
X/level/0/a
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
X/level/0/b
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
X/level/1/a
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
X/level/1/b
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
normal string
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "normal string" ) == "normal string" )
|
|
with expansion:
|
|
"normal string" == "normal string"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
empty string
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "" ) == "" )
|
|
with expansion:
|
|
"" == ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with ampersand
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "smith & jones" ) == "smith & jones" )
|
|
with expansion:
|
|
"smith & jones" == "smith & jones"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with less-than
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "smith < jones" ) == "smith < jones" )
|
|
with expansion:
|
|
"smith < jones" == "smith < jones"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with greater-than
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "smith > jones" ) == "smith > jones" )
|
|
with expansion:
|
|
"smith > jones" == "smith > jones"
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "smith ]]> jones" ) == "smith ]]> jones" )
|
|
with expansion:
|
|
"smith ]]> jones"
|
|
==
|
|
"smith ]]> jones"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with quotes
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( stringWithQuotes ) == stringWithQuotes )
|
|
with expansion:
|
|
"don't "quote" me on that"
|
|
==
|
|
"don't "quote" me on that"
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't "quote" me on that" )
|
|
with expansion:
|
|
"don't "quote" me on that"
|
|
==
|
|
"don't "quote" me on that"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with control char (1)
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "[\x01]" ) == "[\\x01]" )
|
|
with expansion:
|
|
"[\x01]" == "[\x01]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlEncode
|
|
string with control char (x7F)
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( encode( "[\x7F]" ) == "[\\x7F]" )
|
|
with expansion:
|
|
"[\x7F]" == "[\x7F]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
adding a hide tag implicitly enables all others
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testcase.tags, VectorContains(std::string(".")) && VectorContains(std::string("!hide")) )
|
|
with expansion:
|
|
{ "!hide", "." } ( Contains: "." and Contains: "!hide" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
adding a hide tag implicitly enables all others
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testcase.tags, VectorContains(std::string(".")) && VectorContains(std::string("!hide")) )
|
|
with expansion:
|
|
{ "!hide", "." } ( Contains: "." and Contains: "!hide" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
adding a hide tag implicitly enables all others
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testcase.tags, VectorContains(std::string(".")) && VectorContains(std::string("!hide")) )
|
|
with expansion:
|
|
{ "!hide", ".", "foo" } ( Contains: "." and Contains: "!hide" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
array<int, N> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( empty ) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( oneValue ) == "{ 42 }" )
|
|
with expansion:
|
|
"{ 42 }" == "{ 42 }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( twoValues ) == "{ 42, 250 }" )
|
|
with expansion:
|
|
"{ 42, 250 }" == "{ 42, 250 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
atomic if
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
boolean member
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( obj.prop != 0 )
|
|
with expansion:
|
|
0x<hex digits> != 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
checkedElse
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_ELSE( flag )
|
|
with expansion:
|
|
true
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCheckedElse( true ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
checkedElse, failing
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECKED_ELSE( flag )
|
|
with expansion:
|
|
false
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( testCheckedElse( false ) )
|
|
with expansion:
|
|
false
|
|
|
|
-------------------------------------------------------------------------------
|
|
checkedIf
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_IF( flag )
|
|
with expansion:
|
|
true
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCheckedIf( true ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
checkedIf, failing
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECKED_IF( flag )
|
|
with expansion:
|
|
false
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( testCheckedIf( false ) )
|
|
with expansion:
|
|
false
|
|
|
|
-------------------------------------------------------------------------------
|
|
comparisons between const int variables
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( unsigned_char_var == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( unsigned_short_var == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( unsigned_int_var == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( unsigned_long_var == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
comparisons between int variables
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( long_var == unsigned_char_var )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( long_var == unsigned_short_var )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( long_var == unsigned_int_var )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( long_var == unsigned_long_var )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
even more nested SECTION tests
|
|
c
|
|
d (leaf)
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
even more nested SECTION tests
|
|
c
|
|
e (leaf)
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
even more nested SECTION tests
|
|
f (leaf)
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
first tag
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'first tag'
|
|
|
|
loose text artifact
|
|
-------------------------------------------------------------------------------
|
|
has printf
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'has printf'
|
|
|
|
-------------------------------------------------------------------------------
|
|
just failure
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
Previous info should not be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
just failure after unscoped info
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
previous unscoped info SHOULD not be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
just info
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'just info'
|
|
|
|
-------------------------------------------------------------------------------
|
|
just unscoped info
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'just unscoped info'
|
|
|
|
-------------------------------------------------------------------------------
|
|
long long
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( l == std::numeric_limits<long long>::max() )
|
|
with expansion:
|
|
9223372036854775807 (0x<hex digits>)
|
|
==
|
|
9223372036854775807 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
0 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
1 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
2 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 3
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
3 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
4 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
5 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
6 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 7
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
7 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 8
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
8 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped SECTION tests
|
|
b is currently: 9
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( b > a )
|
|
with expansion:
|
|
9 > 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
looped tests
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[0] (1) is even
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[1] (1) is even
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with message:
|
|
Testing if fib[2] (2) is even
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[3] (3) is even
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[4] (5) is even
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
with message:
|
|
Testing if fib[5] (8) is even
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[6] (13) is even
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
CHECK( ( fib[i] % 2 ) == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
with message:
|
|
Testing if fib[7] (21) is even
|
|
|
|
-------------------------------------------------------------------------------
|
|
mix info, unscoped info and warning
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
info
|
|
unscoped info
|
|
and warn may mix
|
|
|
|
Message.tests.cpp:<line number>: warning:
|
|
info
|
|
unscoped info
|
|
they are not cleared after warnings
|
|
|
|
|
|
No assertions in test case 'mix info, unscoped info and warning'
|
|
|
|
-------------------------------------------------------------------------------
|
|
more nested SECTION tests
|
|
doesn't equal
|
|
equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( a == b )
|
|
with expansion:
|
|
1 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
more nested SECTION tests
|
|
doesn't equal
|
|
not equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
more nested SECTION tests
|
|
doesn't equal
|
|
less than
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a < b )
|
|
with expansion:
|
|
1 < 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
nested SECTION tests
|
|
doesn't equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( b != a )
|
|
with expansion:
|
|
2 != 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
nested SECTION tests
|
|
doesn't equal
|
|
not equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
non streamable - with conv. op
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s == "7" )
|
|
with expansion:
|
|
"7" == "7"
|
|
|
|
-------------------------------------------------------------------------------
|
|
non-copyable objects
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
CHECK( ti == typeid(int) )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
not allowed
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
not prints unscoped info from previous failures
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen only for the FIRST assertion IF info is printed for passing
|
|
assertions
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen only for the SECOND assertion IF info is printed for passing
|
|
assertions
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with message:
|
|
this SHOULD be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
null strings
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( makeString( false ) != static_cast<char*>(0) )
|
|
with expansion:
|
|
"valid string" != {null string}
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( makeString( true ) == static_cast<char*>(0) )
|
|
with expansion:
|
|
{null string} == {null string}
|
|
|
|
-------------------------------------------------------------------------------
|
|
null_ptr
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
pair<pair<int,const char *,pair<std::string,int> > -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringPair.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringPair.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }" )
|
|
with expansion:
|
|
"{ { 42, "Arthur" }, { "Ford", 24 } }"
|
|
==
|
|
"{ { 42, "Arthur" }, { "Ford", 24 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
No enums
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "" ), Equals( std::vector<Catch::StringRef>{} ) )
|
|
with expansion:
|
|
{ } Equals: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
One enum value
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1" ), Equals(std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "Value1" ), Equals( std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "EnumName::Value1" ), Equals(std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
Multiple enum values
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2"} ) )
|
|
with expansion:
|
|
{ Value1, Value2 } Equals: { Value1, Value2 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2, ClassName::EnumName::Value3" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2", "Value3"} ) )
|
|
with expansion:
|
|
{ Value1, Value2, Value3 } Equals: { Value1, Value2, Value3 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1,ClassName::EnumName::Value2 , ClassName::EnumName::Value3" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2", "Value3"} ) )
|
|
with expansion:
|
|
{ Value1, Value2, Value3 } Equals: { Value1, Value2, Value3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
pointer to class
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( p == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
print unscoped info if passing unscoped info is printed
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen IF info is printed for passing assertions
|
|
|
|
-------------------------------------------------------------------------------
|
|
prints unscoped info on failure
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with messages:
|
|
this SHOULD be seen
|
|
this SHOULD also be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
prints unscoped info only for the first assertion
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( false )
|
|
with message:
|
|
this SHOULD be seen only ONCE
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
with message:
|
|
this MAY also be seen only ONCE IF info is printed for passing assertions
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
random SECTION tests
|
|
doesn't equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( b != a )
|
|
with expansion:
|
|
2 != 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
random SECTION tests
|
|
not equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace single char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "b", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "azcdefcg" )
|
|
with expansion:
|
|
"azcdefcg" == "azcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace two chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "c", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "abzdefzg" )
|
|
with expansion:
|
|
"abzdefzg" == "abzdefzg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace first char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "a", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "zbcdefcg" )
|
|
with expansion:
|
|
"zbcdefcg" == "zbcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace last char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "g", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "abcdefcz" )
|
|
with expansion:
|
|
"abcdefcz" == "abcdefcz"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace all chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, letters, "replaced") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "replaced" )
|
|
with expansion:
|
|
"replaced" == "replaced"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace no chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( Catch::replaceInPlace(letters, "x", "z") )
|
|
with expansion:
|
|
!false
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == letters )
|
|
with expansion:
|
|
"abcdefcg" == "abcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
escape '
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(s, "'", "|'") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( s == "didn|'t" )
|
|
with expansion:
|
|
"didn|'t" == "didn|'t"
|
|
|
|
-------------------------------------------------------------------------------
|
|
second tag
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'second tag'
|
|
|
|
-------------------------------------------------------------------------------
|
|
send a single char to INFO
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with message:
|
|
3
|
|
|
|
-------------------------------------------------------------------------------
|
|
sends information to INFO
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with messages:
|
|
hi
|
|
i := 7
|
|
|
|
-------------------------------------------------------------------------------
|
|
shortened hide tags are split apart
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string(".")) )
|
|
with expansion:
|
|
{ "!hide", ".", "magic-tag" } ( Contains: "magic-tag" and Contains: "." )
|
|
|
|
-------------------------------------------------------------------------------
|
|
splitString
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( splitStringRef("", ','), Equals(std::vector<StringRef>()) )
|
|
with expansion:
|
|
{ } Equals: { }
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( splitStringRef("abc", ','), Equals(std::vector<StringRef>{"abc"}) )
|
|
with expansion:
|
|
{ abc } Equals: { abc }
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( splitStringRef("abc,def", ','), Equals(std::vector<StringRef>{"abc", "def"}) )
|
|
with expansion:
|
|
{ abc, def } Equals: { abc, def }
|
|
|
|
-------------------------------------------------------------------------------
|
|
stacks unscoped info in loops
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( false )
|
|
with messages:
|
|
Count 1 to 3...
|
|
1
|
|
2
|
|
3
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( false )
|
|
with messages:
|
|
Count 4 to 6...
|
|
4
|
|
5
|
|
6
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::map is convertible string
|
|
empty
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( emptyMap ) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::map is convertible string
|
|
single item
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( map ) == "{ { \"one\", 1 } }" )
|
|
with expansion:
|
|
"{ { "one", 1 } }" == "{ { "one", 1 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::map is convertible string
|
|
several items
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( map ) == "{ { \"abc\", 1 }, { \"def\", 2 }, { \"ghi\", 3 } }" )
|
|
with expansion:
|
|
"{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }"
|
|
==
|
|
"{ { "abc", 1 }, { "def", 2 }, { "ghi", 3 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::pair<int,const std::string> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringPair.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringPair.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(value) == "{ 34, \"xyzzy\" }" )
|
|
with expansion:
|
|
"{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::pair<int,std::string> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringPair.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringPair.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( value ) == "{ 34, \"xyzzy\" }" )
|
|
with expansion:
|
|
"{ 34, "xyzzy" }" == "{ 34, "xyzzy" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::set is convertible string
|
|
empty
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( emptySet ) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::set is convertible string
|
|
single item
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( set ) == "{ \"one\" }" )
|
|
with expansion:
|
|
"{ "one" }" == "{ "one" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::set is convertible string
|
|
several items
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::Detail::stringify( set ) == "{ \"abc\", \"def\", \"ghi\" }" )
|
|
with expansion:
|
|
"{ "abc", "def", "ghi" }"
|
|
==
|
|
"{ "abc", "def", "ghi" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
std::vector<std::pair<std::string,int> > -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringPair.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringPair.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( pr ) == "{ { \"green\", 55 } }" )
|
|
with expansion:
|
|
"{ { "green", 55 } }"
|
|
==
|
|
"{ { "green", 55 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
string literals of different sizes can be compared
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( std::string( "first" ) == "second" )
|
|
with expansion:
|
|
"first" == "second"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify ranges
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(streamable_range{}) == "op<<(streamable_range)" )
|
|
with expansion:
|
|
"op<<(streamable_range)"
|
|
==
|
|
"op<<(streamable_range)"
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(stringmaker_range{}) == "stringmaker(streamable_range)" )
|
|
with expansion:
|
|
"stringmaker(streamable_range)"
|
|
==
|
|
"stringmaker(streamable_range)"
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(just_range{}) == "{ 1, 2, 3, 4 }" )
|
|
with expansion:
|
|
"{ 1, 2, 3, 4 }" == "{ 1, 2, 3, 4 }"
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(disabled_range{}) == "{ !!! }" )
|
|
with expansion:
|
|
"{ !!! }" == "{ !!! }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( has_maker )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( item ) == "StringMaker<has_maker>" )
|
|
with expansion:
|
|
"StringMaker<has_maker>"
|
|
==
|
|
"StringMaker<has_maker>"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( has_maker_and_operator )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( item ) == "StringMaker<has_maker_and_operator>" )
|
|
with expansion:
|
|
"StringMaker<has_maker_and_operator>"
|
|
==
|
|
"StringMaker<has_maker_and_operator>"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( has_neither )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(item) == "{ !!! }" )
|
|
with expansion:
|
|
"{ !!! }" == "{ !!! }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( has_operator )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( item ) == "operator<<( has_operator )" )
|
|
with expansion:
|
|
"operator<<( has_operator )"
|
|
==
|
|
"operator<<( has_operator )"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( has_template_operator )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( item ) == "operator<<( has_template_operator )" )
|
|
with expansion:
|
|
"operator<<( has_template_operator )"
|
|
==
|
|
"operator<<( has_template_operator )"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( vectors<has_maker> )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( v ) == "{ StringMaker<has_maker> }" )
|
|
with expansion:
|
|
"{ StringMaker<has_maker> }"
|
|
==
|
|
"{ StringMaker<has_maker> }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( vectors<has_maker_and_operator> )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( v ) == "{ StringMaker<has_maker_and_operator> }" )
|
|
with expansion:
|
|
"{ StringMaker<has_maker_and_operator> }"
|
|
==
|
|
"{ StringMaker<has_maker_and_operator> }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stringify( vectors<has_operator> )
|
|
-------------------------------------------------------------------------------
|
|
ToStringWhich.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringWhich.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( v ) == "{ operator<<( has_operator ) }" )
|
|
with expansion:
|
|
"{ operator<<( has_operator ) }"
|
|
==
|
|
"{ operator<<( has_operator ) }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
strlen3
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str.size() == data.len )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
strlen3
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str.size() == data.len )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
strlen3
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str.size() == data.len )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
strlen3
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str.size() == data.len )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
tables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
tables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
tables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
tables
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( strlen(std::get<0>(data)) == static_cast<size_t>(std::get<1>(data)) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
thrown std::strings are translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
Why would you throw a std::string?
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString on const wchar_t const pointer returns the string contents
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( result == "\"wide load\"" )
|
|
with expansion:
|
|
""wide load"" == ""wide load""
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString on const wchar_t pointer returns the string contents
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( result == "\"wide load\"" )
|
|
with expansion:
|
|
""wide load"" == ""wide load""
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString on wchar_t const pointer returns the string contents
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( result == "\"wide load\"" )
|
|
with expansion:
|
|
""wide load"" == ""wide load""
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString on wchar_t returns the string contents
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECK( result == "\"wide load\"" )
|
|
with expansion:
|
|
""wide load"" == ""wide load""
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString(enum class w/operator<<)
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e0) == "E2/V0" )
|
|
with expansion:
|
|
"E2/V0" == "E2/V0"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e1) == "E2/V1" )
|
|
with expansion:
|
|
"E2/V1" == "E2/V1"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e3) == "Unknown enum value 10" )
|
|
with expansion:
|
|
"Unknown enum value 10"
|
|
==
|
|
"Unknown enum value 10"
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString(enum class)
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e0) == "0" )
|
|
with expansion:
|
|
"0" == "0"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e1) == "1" )
|
|
with expansion:
|
|
"1" == "1"
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString(enum w/operator<<)
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e0) == "E2{0}" )
|
|
with expansion:
|
|
"E2{0}" == "E2{0}"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e1) == "E2{1}" )
|
|
with expansion:
|
|
"E2{1}" == "E2{1}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
toString(enum)
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e0) == "0" )
|
|
with expansion:
|
|
"0" == "0"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify(e1) == "1" )
|
|
with expansion:
|
|
"1" == "1"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ }" == ::Catch::Detail::stringify(type{}) )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ }" == ::Catch::Detail::stringify(value) )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<float,int>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "1.2f" == ::Catch::Detail::stringify(float(1.2)) )
|
|
with expansion:
|
|
"1.2f" == "1.2f"
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) )
|
|
with expansion:
|
|
"{ 1.2f, 0 }" == "{ 1.2f, 0 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<int>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 0 }" == ::Catch::Detail::stringify(type{0}) )
|
|
with expansion:
|
|
"{ 0 }" == "{ 0 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<0,int,const char *>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 0, 42, \"Catch me\" }" == ::Catch::Detail::stringify(value) )
|
|
with expansion:
|
|
"{ 0, 42, "Catch me" }"
|
|
==
|
|
"{ 0, 42, "Catch me" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<string,string>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) )
|
|
with expansion:
|
|
"{ "hello", "world" }"
|
|
==
|
|
"{ "hello", "world" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<tuple<int>,tuple<>,float>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value) )
|
|
with expansion:
|
|
"{ { 42 }, { }, 1.2f }"
|
|
==
|
|
"{ { 42 }, { }, 1.2f }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vec<vec<string,alloc>> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(v) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(v) == "{ { \"hello\" }, { \"world\" } }" )
|
|
with expansion:
|
|
"{ { "hello" }, { "world" } }"
|
|
==
|
|
"{ { "hello" }, { "world" } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vector<bool> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(bools) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(bools) == "{ true }" )
|
|
with expansion:
|
|
"{ true }" == "{ true }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(bools) == "{ true, false }" )
|
|
with expansion:
|
|
"{ true, false }" == "{ true, false }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vector<int,allocator> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ 42 }" )
|
|
with expansion:
|
|
"{ 42 }" == "{ 42 }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ 42, 250 }" )
|
|
with expansion:
|
|
"{ 42, 250 }" == "{ 42, 250 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vector<int> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ 42 }" )
|
|
with expansion:
|
|
"{ 42 }" == "{ 42 }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ 42, 250 }" )
|
|
with expansion:
|
|
"{ 42, 250 }" == "{ 42, 250 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vector<string> -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringVector.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ \"hello\" }" )
|
|
with expansion:
|
|
"{ "hello" }" == "{ "hello" }"
|
|
|
|
ToStringVector.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(vv) == "{ \"hello\", \"world\" }" )
|
|
with expansion:
|
|
"{ "hello", "world" }"
|
|
==
|
|
"{ "hello", "world" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
vectors can be sized and resized
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
xmlentitycheck
|
|
embedded xml: <test>it should be possible to embed xml characters, such as <,
|
|
" or &, or even whole <xml>documents</xml> within an attribute
|
|
</test>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
xmlentitycheck
|
|
encoded chars: these should all be encoded: &&&"""<<<&"<<&"
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
===============================================================================
|
|
test cases: 321 | 231 passed | 86 failed | 4 failed as expected
|
|
assertions: 1775 | 1606 passed | 148 failed | 21 failed as expected
|
|
|