mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 05:16:10 +01:00
506276c592
This was renamed to CATCH_REGISTER_ENUM in 541f1ed1
(Only provide
CATCH_REGISTER_ENUM, 2019-04-21).
19018 lines
617 KiB
Plaintext
19018 lines
617 KiB
Plaintext
Filters: "*" ~[!nonportable] ~[!benchmark] ~[approvals]
|
|
Randomness seeded to: 1
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
<exe-name> is a Catch2 v<version> host application.
|
|
Run with -? for options
|
|
|
|
-------------------------------------------------------------------------------
|
|
# A test name that starts with a #
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
yay
|
|
|
|
-------------------------------------------------------------------------------
|
|
#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:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1319: Sections can have description (even if it is not saved
|
|
SectionName
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
-------------------------------------------------------------------------------
|
|
TestSpec.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpec.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(*fakeTestCase("spec . char")) )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpec.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(*fakeTestCase("spec , char")) )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpec.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( spec.matches(*fakeTestCase(R"(spec \, char)")) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
#1912 -- test spec parser handles escaping
|
|
Various parentheses
|
|
-------------------------------------------------------------------------------
|
|
TestSpec.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpec.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(*fakeTestCase(R"(spec {a} char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpec.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches(*fakeTestCase(R"(spec [a] char)")) )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpec.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
|
|
-------------------------------------------------------------------------------
|
|
TestSpec.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpec.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:
|
|
|
|
-------------------------------------------------------------------------------
|
|
#2152 - ULP checks between differently signed values were wrong - double
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( smallest_non_zero, WithinULP( -smallest_non_zero, 2 ) )
|
|
with expansion:
|
|
0.0 is within 2 ULPs of -4.9406564584124654e-324 ([-1.4821969375237396e-323,
|
|
4.9406564584124654e-324])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( smallest_non_zero, !WithinULP( -smallest_non_zero, 1 ) )
|
|
with expansion:
|
|
0.0 not is within 1 ULPs of -4.9406564584124654e-324 ([-9.8813129168249309e-
|
|
324, -0.0000000000000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
#2152 - ULP checks between differently signed values were wrong - float
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( smallest_non_zero, WithinULP( -smallest_non_zero, 2 ) )
|
|
with expansion:
|
|
0.0f is within 2 ULPs of -1.40129846e-45f ([-4.20389539e-45, 1.40129846e-45])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( smallest_non_zero, !WithinULP( -smallest_non_zero, 1 ) )
|
|
with expansion:
|
|
0.0f not is within 1 ULPs of -1.40129846e-45f ([-2.80259693e-45, -0.
|
|
00000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
#2615 - Throwing in constructor generator fails test case but does not abort
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
failure to init
|
|
|
|
-------------------------------------------------------------------------------
|
|
#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::Matchers::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 Catch2
|
|
-------------------------------------------------------------------------------
|
|
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_after == 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 TEST_CASE_PERSISTENT_FIXTURE based test run that fails
|
|
First partial run
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m_a++ == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEST_CASE_PERSISTENT_FIXTURE based test run that fails
|
|
Second partial run
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( m_a == 0 )
|
|
with expansion:
|
|
1 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEST_CASE_PERSISTENT_FIXTURE based test run that succeeds
|
|
First partial run
|
|
-------------------------------------------------------------------------------
|
|
Class.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Class.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m_a++ == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A TEST_CASE_PERSISTENT_FIXTURE based test run that succeeds
|
|
Second partial run
|
|
-------------------------------------------------------------------------------
|
|
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.22999999999999998
|
|
==
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.21999999999999997 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( -d == -1.23_a )
|
|
with expansion:
|
|
-1.22999999999999998
|
|
==
|
|
Approx( -1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.2_a .epsilon(.1) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.19999999999999996 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.2_a .epsilon(.001) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.19999999999999996 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1_a .epsilon(.3) )
|
|
with expansion:
|
|
1.22999999999999998 == 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.29999999999999716 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 100.3 == Approx(100.0).margin(0.5) )
|
|
with expansion:
|
|
100.29999999999999716 == 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.14285714285714279
|
|
==
|
|
Approx( 3.14100000000000001 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 ) )
|
|
with expansion:
|
|
3.14285714285714279
|
|
!=
|
|
Approx( 3.14100000000000001 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.231 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.23100000000000009 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == Approx( 1.231 ).epsilon( 0.1 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.23100000000000009 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with floats
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.23f == Approx( 1.23f ) )
|
|
with expansion:
|
|
1.230000019f
|
|
==
|
|
Approx( 1.23000001907348633 )
|
|
|
|
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.233999968f
|
|
==
|
|
Approx( 1.23399999999999999 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( dMedium == Approx( 1.234f ) )
|
|
with expansion:
|
|
1.23399999999999999
|
|
==
|
|
Approx( 1.23399996757507324 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Different argument ranges, same element type, default comparison
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( a, Contains(1) )
|
|
with expansion:
|
|
{ 1, 2, 3 } contains element 1
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( b, Contains(1) )
|
|
with expansion:
|
|
{ 0, 1, 2 } contains element 1
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( c, !Contains(1) )
|
|
with expansion:
|
|
{ 4, 5, 6 } not contains element 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Different argument ranges, same element type, custom comparison
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( a, Contains(0, close_enough) )
|
|
with expansion:
|
|
{ 1, 2, 3 } contains element 0
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( b, Contains(0, close_enough) )
|
|
with expansion:
|
|
{ 0, 1, 2 } contains element 0
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( c, !Contains(0, close_enough) )
|
|
with expansion:
|
|
{ 4, 5, 6 } not contains element 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Different element type, custom comparisons
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) )
|
|
with expansion:
|
|
{ "abc", "abcd", "abcde" } contains element 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Can handle type that requires ADL-found free function begin and end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( in, Contains(1) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } contains element 1
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( in, !Contains(8) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } not contains element 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Initialization with move only types
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( in, Contains(MoveOnlyTestElement{ 2 }) )
|
|
with expansion:
|
|
{ 1, 2, 3 } contains element 2
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( in, !Contains(MoveOnlyTestElement{ 9 }) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not contains element 9
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Contains range matcher
|
|
Matching using matcher
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( in, Contains(Catch::Matchers::WithinAbs(0.5, 0.5)) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0, 0.0 } contains element matching is within 0.5 of 0.5
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Empty range matcher
|
|
Simple, std-provided containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty_array, IsEmpty() )
|
|
with expansion:
|
|
{ } is empty
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( non_empty_array, !IsEmpty() )
|
|
with expansion:
|
|
{ 0.0 } not is empty
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty_vec, IsEmpty() )
|
|
with expansion:
|
|
{ } is empty
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( non_empty_vec, !IsEmpty() )
|
|
with expansion:
|
|
{ 'a', 'b', 'c' } not is empty
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( inner_lists_are_empty, !IsEmpty() )
|
|
with expansion:
|
|
{ { } } not is empty
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( inner_lists_are_empty.front(), IsEmpty() )
|
|
with expansion:
|
|
{ } is empty
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Empty range matcher
|
|
Type with empty
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( has_empty{}, !IsEmpty() )
|
|
with expansion:
|
|
{?} not is empty
|
|
|
|
-------------------------------------------------------------------------------
|
|
Basic use of the Empty range matcher
|
|
Type requires ADL found empty free function
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( unrelated::ADL_empty{}, IsEmpty() )
|
|
with expansion:
|
|
{?} is empty
|
|
|
|
-------------------------------------------------------------------------------
|
|
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:
|
|
custom_index_op<int>{1, 2, 3}[0, 1, 2] := 0
|
|
custom_index_op<int>{1, 2, 3}[(0, 1)] := 0
|
|
custom_index_op<int>{1, 2, 3}[0] := 0
|
|
(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
|
|
|
|
-------------------------------------------------------------------------------
|
|
CaseInsensitiveEqualsTo is case insensitive
|
|
Degenerate cases
|
|
-------------------------------------------------------------------------------
|
|
Details.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( eq( "", "" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( eq( "", "a" ) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
CaseInsensitiveEqualsTo is case insensitive
|
|
Plain comparisons
|
|
-------------------------------------------------------------------------------
|
|
Details.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( eq( "a", "a" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( eq( "a", "A" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( eq( "A", "a" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( eq( "A", "A" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( eq( "a", "b" ) )
|
|
with expansion:
|
|
!false
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( eq( "a", "B" ) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
CaseInsensitiveLess is case insensitive
|
|
Degenerate cases
|
|
-------------------------------------------------------------------------------
|
|
Details.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lt( "", "a" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lt( "a", "a" ) )
|
|
with expansion:
|
|
!false
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lt( "", "" ) )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
CaseInsensitiveLess is case insensitive
|
|
Plain comparisons
|
|
-------------------------------------------------------------------------------
|
|
Details.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lt( "a", "b" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lt( "a", "B" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lt( "A", "b" ) )
|
|
with expansion:
|
|
true
|
|
|
|
Details.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lt( "A", "B" ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
Specifically escaped
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify('\t') == "'\\t'" )
|
|
with expansion:
|
|
"'\t'" == "'\t'"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify('\n') == "'\\n'" )
|
|
with expansion:
|
|
"'\n'" == "'\n'"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify('\r') == "'\\r'" )
|
|
with expansion:
|
|
"'\r'" == "'\r'"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify('\f') == "'\\f'" )
|
|
with expansion:
|
|
"'\f'" == "'\f'"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
General chars
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( ' ' ) == "' '" )
|
|
with expansion:
|
|
"' '" == "' '"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( 'A' ) == "'A'" )
|
|
with expansion:
|
|
"'A'" == "'A'"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( 'z' ) == "'z'" )
|
|
with expansion:
|
|
"'z'" == "'z'"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
Low ASCII
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( '\0' ) == "0" )
|
|
with expansion:
|
|
"0" == "0"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( static_cast<char>(2) ) == "2" )
|
|
with expansion:
|
|
"2" == "2"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( static_cast<char>(5) ) == "5" )
|
|
with expansion:
|
|
"5" == "5"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Clara::Arg does not crash on incomplete input
|
|
-------------------------------------------------------------------------------
|
|
Clara.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( name.empty() )
|
|
with expansion:
|
|
true
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( result.type() == Catch::Clara::Detail::ResultType::Ok )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( parsed.type() == Catch::Clara::ParseResultType::NoMatch )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( parsed.remainingTokens().count() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( name.empty() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Clara::Arg supports single-arg parse the way Opt does
|
|
-------------------------------------------------------------------------------
|
|
Clara.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( name.empty() )
|
|
with expansion:
|
|
true
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( name == "foo" )
|
|
with expansion:
|
|
"foo" == "foo"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Clara::Opt supports accept-many lambdas
|
|
Parsing fails on multiple options without accept_many
|
|
-------------------------------------------------------------------------------
|
|
Clara.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( parse_result )
|
|
with expansion:
|
|
!{?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Clara::Opt supports accept-many lambdas
|
|
Parsing succeeds on multiple options with accept_many
|
|
-------------------------------------------------------------------------------
|
|
Clara.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( parse_result )
|
|
with expansion:
|
|
{?}
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
CHECK( res == std::vector<std::string>{ "aaa", "bbb" } )
|
|
with expansion:
|
|
{ "aaa", "bbb" } == { "aaa", "bbb" }
|
|
|
|
-------------------------------------------------------------------------------
|
|
ColourGuard behaviour
|
|
ColourGuard is disengaged by default
|
|
-------------------------------------------------------------------------------
|
|
ColourImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ColourImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( streamWrapper.str().empty() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
ColourGuard behaviour
|
|
ColourGuard is engaged by op<<
|
|
-------------------------------------------------------------------------------
|
|
ColourImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ColourImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( streamWrapper.str() == "1\nUsing code: 2\n2\nUsing code: 0\n3\n" )
|
|
with expansion:
|
|
"1
|
|
Using code: 2
|
|
2
|
|
Using code: 0
|
|
3
|
|
"
|
|
==
|
|
"1
|
|
Using code: 2
|
|
2
|
|
Using code: 0
|
|
3
|
|
"
|
|
|
|
-------------------------------------------------------------------------------
|
|
ColourGuard behaviour
|
|
ColourGuard can be engaged explicitly
|
|
-------------------------------------------------------------------------------
|
|
ColourImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ColourImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( streamWrapper.str() == "Using code: 2\nA\nB\nUsing code: 0\nC\n" )
|
|
with expansion:
|
|
"Using code: 2
|
|
A
|
|
B
|
|
Using code: 0
|
|
C
|
|
"
|
|
==
|
|
"Using code: 2
|
|
A
|
|
B
|
|
Using code: 0
|
|
C
|
|
"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining MatchAllOfGeneric does not nest
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( ( MatcherA() && MatcherB() ) && MatcherC() ), Catch::
|
|
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && MatcherC() )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T)
|
|
1 )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( MatcherA() && ( MatcherB() && MatcherC() ) ), Catch::
|
|
Matchers::Detail:: MatchAllOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, MatcherA() && ( MatcherB() && MatcherC() ) )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T)
|
|
1 )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( ( MatcherA() && MatcherB() ) && ( MatcherC() &&
|
|
MatcherD() ) ), Catch::Matchers::Detail:: MatchAllOfGeneric<MatcherA,
|
|
MatcherB, MatcherC, MatcherD>>:: value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, ( MatcherA() && MatcherB() ) && ( MatcherC() && MatcherD() ) )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 and equals: (T)
|
|
1 and equals: true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining MatchAnyOfGeneric does not nest
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( ( MatcherA() || MatcherB() ) || MatcherC() ), Catch::
|
|
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || MatcherC() )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1
|
|
)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( MatcherA() || ( MatcherB() || MatcherC() ) ), Catch::
|
|
Matchers::Detail:: MatchAnyOfGeneric<MatcherA, MatcherB, MatcherC>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, MatcherA() || ( MatcherB() || MatcherC() ) )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1
|
|
)
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( ( MatcherA() || MatcherB() ) || ( MatcherC() ||
|
|
MatcherD() ) ), Catch::Matchers::Detail:: MatchAnyOfGeneric<MatcherA,
|
|
MatcherB, MatcherC, MatcherD>>:: value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, ( MatcherA() || MatcherB() ) || ( MatcherC() || MatcherD() ) )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 or equals: (T) 1
|
|
or equals: true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining MatchNotOfGeneric does not nest
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( !MatcherA() ), Catch::Matchers::Detail::
|
|
MatchNotOfGeneric<MatcherA>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0, !MatcherA() )
|
|
with expansion:
|
|
0 not equals: (int) 1 or (string) "1"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same<decltype( !!MatcherA() ), MatcherA const&>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, !!MatcherA() )
|
|
with expansion:
|
|
1 equals: (int) 1 or (string) "1"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( !!!MatcherA() ), Catch::Matchers::Detail::
|
|
MatchNotOfGeneric<MatcherA>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0, !!!MatcherA() )
|
|
with expansion:
|
|
0 not equals: (int) 1 or (string) "1"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same<decltype( !!!!MatcherA() ), MatcherA const&>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, !!!!MatcherA() )
|
|
with expansion:
|
|
1 equals: (int) 1 or (string) "1"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining concrete matchers does not use templated matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same<decltype( StartsWith( "foo" ) || ( StartsWith( "bar" ) &&
|
|
EndsWith( "bar" ) && !EndsWith( "foo" ) ) ), Catch::Matchers::Detail::
|
|
MatchAnyOf<std::string>>::value
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining only templated matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same<decltype( MatcherA() || MatcherB() ), Catch::Matchers::Detail::
|
|
MatchAnyOfGeneric<MatcherA, MatcherB>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, MatcherA() || MatcherB() )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" or equals: (long long) 1 )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same<decltype( MatcherA() && MatcherB() ), Catch::Matchers::Detail::
|
|
MatchAllOfGeneric<MatcherA, MatcherB>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, MatcherA() && MatcherB() )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" and equals: (long long) 1 )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
std::is_same< decltype( MatcherA() || !MatcherB() ), Catch::Matchers::Detail:
|
|
:MatchAnyOfGeneric< MatcherA, Catch::Matchers::Detail::MatchNotOfGeneric
|
|
<MatcherB>>>::value
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, MatcherA() || !MatcherB() )
|
|
with expansion:
|
|
1 ( equals: (int) 1 or (string) "1" or not equals: (long long) 1 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining templated and concrete matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( vec, Predicate<std::vector<int>>( []( auto const& v ) { return std::all_of( v.begin(), v.end(), []( int elem ) { return elem % 2 == 1; } ); }, "All elements are odd" ) && !EqualsRange( a ) )
|
|
with expansion:
|
|
{ 1, 3, 5 } ( matches predicate: "All elements are odd" and not Equals: { 5,
|
|
3, 1 } )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, StartsWith( "foo" ) && EqualsRange( arr ) && EndsWith( "bar" ) )
|
|
with expansion:
|
|
"foobar" ( starts with: "foo" and Equals: { 'f', 'o', 'o', 'b', 'a', 'r' }
|
|
and ends with: "bar" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, StartsWith( "foo" ) && !EqualsRange( bad_arr ) && EndsWith( "bar" ) )
|
|
with expansion:
|
|
"foobar" ( starts with: "foo" and not Equals: { 'o', 'o', 'f', 'b', 'a', 'r'
|
|
} and ends with: "bar" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, EqualsRange( arr ) && StartsWith( "foo" ) && EndsWith( "bar" ) )
|
|
with expansion:
|
|
"foobar" ( Equals: { 'f', 'o', 'o', 'b', 'a', 'r' } and starts with: "foo"
|
|
and ends with: "bar" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, !EqualsRange( bad_arr ) && StartsWith( "foo" ) && EndsWith( "bar" ) )
|
|
with expansion:
|
|
"foobar" ( not Equals: { 'o', 'o', 'f', 'b', 'a', 'r' } and starts with:
|
|
"foo" and ends with: "bar" )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, EqualsRange( bad_arr ) || ( StartsWith( "foo" ) && EndsWith( "bar" ) ) )
|
|
with expansion:
|
|
"foobar" ( Equals: { 'o', 'o', 'f', 'b', 'a', 'r' } or ( starts with: "foo"
|
|
and ends with: "bar" ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( str, ( StartsWith( "foo" ) && EndsWith( "bar" ) ) || EqualsRange( bad_arr ) )
|
|
with expansion:
|
|
"foobar" ( ( starts with: "foo" and ends with: "bar" ) or Equals: { 'o', 'o',
|
|
'f', 'b', 'a', 'r' } )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Combining templated matchers
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( container, EqualsRange( a ) || EqualsRange( b ) || EqualsRange( c ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } ( Equals: { 1, 2, 3 } or Equals: { 0, 1, 2 } or Equals: { 4, 5, 6
|
|
} )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 generic matchers shortcircuit
|
|
MatchAllOf
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( matcher.match( 1 ) )
|
|
with expansion:
|
|
!false
|
|
|
|
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 generic matchers shortcircuit
|
|
MatchAnyOf
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK( matcher.match( 1 ) )
|
|
with expansion:
|
|
true
|
|
|
|
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
|
|
MatchAllOf
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( matcher.match( 1 ) )
|
|
with expansion:
|
|
!false
|
|
|
|
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
|
|
MatchAnyOf
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK( matcher.match( 1 ) )
|
|
with expansion:
|
|
true
|
|
|
|
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(), ContainsSubstring( "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(), ContainsSubstring( "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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Cout stream properly declares it writes to stdout
|
|
-------------------------------------------------------------------------------
|
|
Stream.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::makeStream( "-" )->isConsole() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.00000099999999748 != 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 **}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Empty generators can SKIP in constructor
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
explicitly with message:
|
|
This generator is empty
|
|
|
|
-------------------------------------------------------------------------------
|
|
Empty stream name opens cout stream
|
|
-------------------------------------------------------------------------------
|
|
Stream.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::makeStream( "" )->isConsole() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 CATCH_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
|
|
CATCH_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.01000000000000512 != 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.100000381f
|
|
==
|
|
Approx( 9.10999965667724609 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 9.0f ) )
|
|
with expansion:
|
|
9.100000381f == Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 1 ) )
|
|
with expansion:
|
|
9.100000381f == Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 0 ) )
|
|
with expansion:
|
|
9.100000381f == Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi == Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.14159265350000005
|
|
==
|
|
Approx( 3.14150000000000018 )
|
|
|
|
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.30000000000000027
|
|
==
|
|
Approx( 1.30099999999999993 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.100000381f
|
|
==
|
|
Approx( 9.10000038146972656 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi == Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.14159265350000005
|
|
==
|
|
Approx( 3.14159265350000005 )
|
|
|
|
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.30000000000000027
|
|
==
|
|
Approx( 1.30000000000000004 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 message can be matched
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsDerivedException(), DerivedException, MessageMatches( StartsWith( "Derived" ) ) )
|
|
with expansion:
|
|
DerivedException::what matches "starts with: "Derived""
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsDerivedException(), DerivedException, MessageMatches( EndsWith( "::what" ) ) )
|
|
with expansion:
|
|
DerivedException::what matches "ends with: "::what""
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsDerivedException(), DerivedException, MessageMatches( !StartsWith( "::what" ) ) )
|
|
with expansion:
|
|
DerivedException::what matches "not starts with: "::what""
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException( 2 ), SpecialException, MessageMatches( StartsWith( "Special" ) ) )
|
|
with expansion:
|
|
SpecialException::what matches "starts with: "Special""
|
|
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring( "except" ) )
|
|
with expansion:
|
|
"expected exception" contains: "except"
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( thisThrows(), ContainsSubstring( "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>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Filter generator throws exception for empty generator
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( filter( []( int ) { return false; }, value( 3 ) ), Catch::GeneratorException )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.09999999999999964 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.19999999999999929 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.0 are within 99% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0., WithinRel( 0. ) )
|
|
with expansion:
|
|
-0.0 and 0.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 0.0 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.98999999999999999 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., !WithinAbs( 1., 0.99 ) )
|
|
with expansion:
|
|
0.0 not is within 0.98999999999999999 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.59999999999999964
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.00000000000000022 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.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: double
|
|
IsNaN
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !IsNaN() )
|
|
with expansion:
|
|
1.0 not is NaN
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.10000038146972656 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.19999980926513672 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.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.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 0.0 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.99000000953674316 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.99000000953674316 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.60000038146972656
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( -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.000000119f 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.00100000004749745 of 0.0 or and 0.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 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
IsNaN
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !IsNaN() )
|
|
with expansion:
|
|
1.0 not is NaN
|
|
|
|
-------------------------------------------------------------------------------
|
|
GENERATE can combine literals and generators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
GENERATE can combine literals and generators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
GENERATE can combine literals and generators
|
|
-------------------------------------------------------------------------------
|
|
Generators.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Generators.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i % 2 == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
GENERATE can combine literals and generators
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
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
|
|
Simple filtering
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Filter generator
|
|
Filter out multiple elements at the start and end
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Filter generator
|
|
Throws on construction if it can't get initial element
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( filter([](int) { return false; }, value(1)), Catch::GeneratorException )
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( filter([](int) { return false; }, values({ 1, 2, 3 })), 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.90000000000000002
|
|
==
|
|
Approx( -0.90000000000000002 )
|
|
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.80000000000000004
|
|
==
|
|
Approx( -0.80000000000000004 )
|
|
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.70000000000000007
|
|
==
|
|
Approx( -0.70000000000000007 )
|
|
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.60000000000000009
|
|
==
|
|
Approx( -0.60000000000000009 )
|
|
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.50000000000000011
|
|
==
|
|
Approx( -0.50000000000000011 )
|
|
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.40000000000000013
|
|
==
|
|
Approx( -0.40000000000000013 )
|
|
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.30000000000000016
|
|
==
|
|
Approx( -0.30000000000000016 )
|
|
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.20000000000000015
|
|
==
|
|
Approx( -0.20000000000000015 )
|
|
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.10000000000000014
|
|
==
|
|
Approx( -0.10000000000000014 )
|
|
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.00000000000000014
|
|
==
|
|
Approx( -0.00000000000000014 )
|
|
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.09999999999999987
|
|
==
|
|
Approx( 0.09999999999999987 )
|
|
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.19999999999999987
|
|
==
|
|
Approx( 0.19999999999999987 )
|
|
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.29999999999999988
|
|
==
|
|
Approx( 0.29999999999999988 )
|
|
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.39999999999999991
|
|
==
|
|
Approx( 0.39999999999999991 )
|
|
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.49999999999999989
|
|
==
|
|
Approx( 0.49999999999999989 )
|
|
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.59999999999999987
|
|
==
|
|
Approx( 0.59999999999999987 )
|
|
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.69999999999999984
|
|
==
|
|
Approx( 0.69999999999999984 )
|
|
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.79999999999999982
|
|
==
|
|
Approx( 0.79999999999999982 )
|
|
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.8999999999999998
|
|
==
|
|
Approx( 0.8999999999999998 )
|
|
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:
|
|
0.99999999999999978 == 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.69999999999999996
|
|
==
|
|
Approx( -0.69999999999999996 )
|
|
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.39999999999999997
|
|
==
|
|
Approx( -0.39999999999999997 )
|
|
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.09999999999999998
|
|
==
|
|
Approx( -0.09999999999999998 )
|
|
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.20000000000000001
|
|
==
|
|
Approx( 0.20000000000000001 )
|
|
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.69999999999999996
|
|
==
|
|
Approx( -0.69999999999999996 )
|
|
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.39999999999999997
|
|
==
|
|
Approx( -0.39999999999999997 )
|
|
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.09999999999999998
|
|
==
|
|
Approx( -0.09999999999999998 )
|
|
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.20000000000000001
|
|
==
|
|
Approx( 0.20000000000000001 )
|
|
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.22999999999999998
|
|
>=
|
|
Approx( 1.21999999999999997 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
>=
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d >= Approx( 1.24 ) )
|
|
with expansion:
|
|
!(1.22999999999999998
|
|
>=
|
|
Approx( 1.23999999999999999 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.24 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
>=
|
|
Approx( 1.23999999999999999 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashers with different seed produce different hash with same test case
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h1( dummy ) != h2( dummy ) )
|
|
with expansion:
|
|
3422778688 (0x<hex digits>)
|
|
!=
|
|
130711275 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashers with same seed produce same hash
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h1( dummy ) == h2( dummy ) )
|
|
with expansion:
|
|
3422778688 (0x<hex digits>)
|
|
==
|
|
3422778688 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashing different test cases produces different result
|
|
Different test name
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h( dummy1 ) != h( dummy2 ) )
|
|
with expansion:
|
|
2903002874 (0x<hex digits>)
|
|
!=
|
|
2668622104 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashing different test cases produces different result
|
|
Different classname
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h( dummy1 ) != h( dummy2 ) )
|
|
with expansion:
|
|
2673152918 (0x<hex digits>)
|
|
!=
|
|
3916075712 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashing different test cases produces different result
|
|
Different tags
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h( dummy1 ) != h( dummy2 ) )
|
|
with expansion:
|
|
2074929312 (0x<hex digits>)
|
|
!=
|
|
3429949824 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Hashing test case produces same hash across multiple calls
|
|
-------------------------------------------------------------------------------
|
|
TestCaseInfoHasher.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestCaseInfoHasher.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( h( dummy ) == h( dummy ) )
|
|
with expansion:
|
|
3422778688 (0x<hex digits>)
|
|
==
|
|
3422778688 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
INFO and UNSCOPED_INFO can stream multiple arguments
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with messages:
|
|
This info has multiple parts.
|
|
This unscoped info has multiple parts.
|
|
Show infos!
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Incomplete AssertionHandler
|
|
-------------------------------------------------------------------------------
|
|
AssertionHandler.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
AssertionHandler.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( Dummy )
|
|
due to unexpected exception with message:
|
|
Exception translation was disabled by CATCH_CONFIG_FAST_COMPILE
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.100000381f
|
|
!=
|
|
Approx( 9.10000038146972656 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi != Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.14159265350000005
|
|
!=
|
|
Approx( 3.14159265350000005 )
|
|
|
|
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.100000381f
|
|
!=
|
|
Approx( 9.10999965667724609 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 9.0f ) )
|
|
with expansion:
|
|
9.100000381f != Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 1 ) )
|
|
with expansion:
|
|
9.100000381f != Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 0 ) )
|
|
with expansion:
|
|
9.100000381f != Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi != Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.14159265350000005
|
|
!=
|
|
Approx( 3.14150000000000018 )
|
|
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Newly constructed JsonWriter does nothing
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "" )
|
|
with expansion:
|
|
"" == ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Calling writeObject will create an empty pair of braces
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "{\n}" )
|
|
with expansion:
|
|
"{
|
|
}"
|
|
==
|
|
"{
|
|
}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Calling writeObject with key will create an object to write the value
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( stream.str(), ContainsSubstring( "\"int\": 1," ) && ContainsSubstring( "\"double\": 1.5," ) && ContainsSubstring( "\"true\": true," ) && ContainsSubstring( "\"false\": false," ) && ContainsSubstring( "\"string\": \"this is a string\"," ) && ContainsSubstring( "\"array\": [\n 1,\n 2\n ]\n}" ) )
|
|
with expansion:
|
|
"{
|
|
"int": 1,
|
|
"double": 1.5,
|
|
"true": true,
|
|
"false": false,
|
|
"string": "this is a string",
|
|
"array": [
|
|
1,
|
|
2
|
|
]
|
|
}" ( contains: ""int": 1," and contains: ""double": 1.5," and contains:
|
|
""true": true," and contains: ""false": false," and contains: ""string":
|
|
"this is a string"," and contains: ""array": [
|
|
1,
|
|
2
|
|
]
|
|
}" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
nesting objects
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( stream.str(), ContainsSubstring( "\"empty_object\": {\n }," ) && ContainsSubstring( "\"fully_object\": {\n \"key\": 1\n }" ) )
|
|
with expansion:
|
|
"{
|
|
"empty_object": {
|
|
},
|
|
"fully_object": {
|
|
"key": 1
|
|
}
|
|
}" ( contains: ""empty_object": {
|
|
}," and contains: ""fully_object": {
|
|
"key": 1
|
|
}" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Calling writeArray will create an empty pair of braces
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "[\n]" )
|
|
with expansion:
|
|
"[
|
|
]"
|
|
==
|
|
"[
|
|
]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Calling writeArray creates array to write the values to
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "[\n 1,\n 1.5,\n true,\n false,\n \"this is a string\",\n {\n \"object\": 42\n },\n [\n \"array\",\n 42.5\n ]\n]" )
|
|
with expansion:
|
|
"[
|
|
1,
|
|
1.5,
|
|
true,
|
|
false,
|
|
"this is a string",
|
|
{
|
|
"object": 42
|
|
},
|
|
[
|
|
"array",
|
|
42.5
|
|
]
|
|
]"
|
|
==
|
|
"[
|
|
1,
|
|
1.5,
|
|
true,
|
|
false,
|
|
"this is a string",
|
|
{
|
|
"object": 42
|
|
},
|
|
[
|
|
"array",
|
|
42.5
|
|
]
|
|
]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Moved from JsonObjectWriter shall not insert superfluous brace
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "{\n}" )
|
|
with expansion:
|
|
"{
|
|
}"
|
|
==
|
|
"{
|
|
}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Moved from JsonArrayWriter shall not insert superfluous bracket
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "[\n]" )
|
|
with expansion:
|
|
"[
|
|
]"
|
|
==
|
|
"[
|
|
]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter
|
|
Custom class shall be quoted
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stream.str() == "\"custom\"" )
|
|
with expansion:
|
|
""custom"" == ""custom""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
Quote in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\\"\"" )
|
|
with expansion:
|
|
""\""" == ""\"""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
Backslash in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\\\\"" )
|
|
with expansion:
|
|
""\\"" == ""\\""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
Forward slash in a string is **not** escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"/\"" )
|
|
with expansion:
|
|
""/"" == ""/""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
Backspace in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\b\"" )
|
|
with expansion:
|
|
""\b"" == ""\b""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
Formfeed in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\f\"" )
|
|
with expansion:
|
|
""\f"" == ""\f""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
linefeed in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\n\"" )
|
|
with expansion:
|
|
""\n"" == ""\n""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
carriage return in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\r\"" )
|
|
with expansion:
|
|
""\r"" == ""\r""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
tab in a string is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\t\"" )
|
|
with expansion:
|
|
""\t"" == ""\t""
|
|
|
|
-------------------------------------------------------------------------------
|
|
JsonWriter escapes charaters in strings properly
|
|
combination of characters is escaped
|
|
-------------------------------------------------------------------------------
|
|
Json.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Json.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sstream.str() == "\"\\\\/\\t\\r\\n\"" )
|
|
with expansion:
|
|
""\\/\t\r\n"" == ""\\/\t\r\n""
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.22999999999999998
|
|
<=
|
|
Approx( 1.23999999999999999 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
<=
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d <= Approx( 1.22 ) )
|
|
with expansion:
|
|
!(1.22999999999999998
|
|
<=
|
|
Approx( 1.21999999999999997 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.22 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
<=
|
|
Approx( 1.21999999999999997 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring( "string" ) && ContainsSubstring( "abc" ) && ContainsSubstring( "substring" ) && ContainsSubstring( "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(), ContainsSubstring( "string" ) || ContainsSubstring( "different" ) || ContainsSubstring( "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(), ContainsSubstring( "string" ) || ContainsSubstring( "different" ) || ContainsSubstring( "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(), ( ContainsSubstring( "string" ) || ContainsSubstring( "different" ) ) && ContainsSubstring( "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(), ( ContainsSubstring( "string" ) || ContainsSubstring( "different" ) ) && ContainsSubstring( "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(), !ContainsSubstring( "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(), !ContainsSubstring( "substring" ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" not contains: "substring"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Mayfail test case with nested sections
|
|
A
|
|
1
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Mayfail test case with nested sections
|
|
A
|
|
2
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Mayfail test case with nested sections
|
|
B
|
|
1
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Mayfail test case with nested sections
|
|
B
|
|
2
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
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"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Multireporter calls reporters and listeners in correct order
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( records == expected )
|
|
with expansion:
|
|
{ "Hello", "world", "Goodbye", "world" }
|
|
==
|
|
{ "Hello", "world", "Goodbye", "world" }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Multireporter updates ReporterPreferences properly
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Multireporter updates ReporterPreferences properly
|
|
Adding listeners
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Multireporter updates ReporterPreferences properly
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Multireporter updates ReporterPreferences properly
|
|
Adding reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == false )
|
|
with expansion:
|
|
false == false
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldRedirectStdOut == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( multiReporter.getPreferences().shouldReportAllAssertions == true )
|
|
with expansion:
|
|
true == true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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)
|
|
|
|
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.100000381f < 9
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 10 )
|
|
with expansion:
|
|
9.100000381f > 10
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 9.2 )
|
|
with expansion:
|
|
9.100000381f > 9.19999999999999929
|
|
|
|
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.100000381f > 9
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 10 )
|
|
with expansion:
|
|
9.100000381f < 10
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 9.2 )
|
|
with expansion:
|
|
9.100000381f < 9.19999999999999929
|
|
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Overloaded comma or address-of operators are not used
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( ( EvilMatcher(), EvilMatcher() ), EvilCommaOperatorUsed )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( &EvilMatcher(), EvilAddressOfOperatorUsed )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( EvilMatcher() || ( EvilMatcher() && !EvilMatcher() ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( ( EvilMatcher() && EvilMatcher() ) || !EvilMatcher() )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse uints
|
|
proper inputs
|
|
-------------------------------------------------------------------------------
|
|
Parse.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( parseUInt( "0" ) == Optional<unsigned int>{ 0 } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( parseUInt( "100" ) == Optional<unsigned int>{ 100 } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( parseUInt( "4294967295" ) == Optional<unsigned int>{ 4294967295 } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( parseUInt( "0x<hex digits>", 16 ) == Optional<unsigned int>{ 255 } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parse uints
|
|
Bad inputs
|
|
-------------------------------------------------------------------------------
|
|
Parse.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "!!KJHF*#" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "-1" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "4294967296" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "42949672964294967296429496729642949672964294967296" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "2 4" ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
Parse.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( parseUInt( "0x<hex digits>", 10 ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsed tags are matched case insensitive
|
|
-------------------------------------------------------------------------------
|
|
TestSpecParser.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.hasFilters() )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.getInvalidSpecs().empty() )
|
|
with expansion:
|
|
true
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches( testCase ) )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
shard-count
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--shard-count=8" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.shardCount == 8 )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
Negative shard count reports error
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( result )
|
|
with expansion:
|
|
!{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), ContainsSubstring( "Could not parse '-1' as shard count" ) )
|
|
with expansion:
|
|
"Could not parse '-1' as shard count" contains: "Could not parse '-1' as
|
|
shard count"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
Zero shard count reports error
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( result )
|
|
with expansion:
|
|
!{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), ContainsSubstring( "Shard count must be positive" ) )
|
|
with expansion:
|
|
"Shard count must be positive" contains: "Shard count must be positive"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
shard-index
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--shard-index=2" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.shardIndex == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
Negative shard index reports error
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( result )
|
|
with expansion:
|
|
!{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( result.errorMessage(), ContainsSubstring( "Could not parse '-12' as shard index" ) )
|
|
with expansion:
|
|
"Could not parse '-12' as shard index" contains: "Could not parse '-12' as
|
|
shard index"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing sharding-related cli flags
|
|
Shard index 0 is accepted
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--shard-index=0" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.shardIndex == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing tags with non-alphabetical characters is pass-through
|
|
-------------------------------------------------------------------------------
|
|
TestSpecParser.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.hasFilters() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[tag with spaces]"
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.getInvalidSpecs().empty() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[tag with spaces]"
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches( testCase ) )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[tag with spaces]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing tags with non-alphabetical characters is pass-through
|
|
-------------------------------------------------------------------------------
|
|
TestSpecParser.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.hasFilters() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[I said "good day" sir!]"
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.getInvalidSpecs().empty() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[I said "good day" sir!]"
|
|
|
|
TestSpecParser.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( spec.matches( testCase ) )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
tagString := "[I said "good day" sir!]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing warnings
|
|
NoAssertions
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cli.parse( { "test", "-w", "NoAssertions" } ) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.warnings == WarnAbout::NoAssertions )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing warnings
|
|
NoTests is no longer supported
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( cli.parse( { "test", "-w", "NoTests" } ) )
|
|
with expansion:
|
|
!{?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Parsing warnings
|
|
Combining multiple warnings
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( cli.parse( { "test", "--warn", "NoAssertions", "--warn", "UnmatchedTestSpec" } ) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.warnings == ( WarnAbout::NoAssertions | WarnAbout::UnmatchedTestSpec ) )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.reporterSpecifications.empty() )
|
|
with expansion:
|
|
true
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( cfg.hasTestFilters() )
|
|
with expansion:
|
|
!false
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cfg.getReporterSpecs().size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cfg.getReporterSpecs()[0] == Catch::ReporterSpec{ expectedReporter, {}, {}, {} } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cfg.getProcessedReporterSpecs().size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cfg.getProcessedReporterSpecs()[0] == Catch::ProcessedReporterSpec{ expectedReporter, std::string{}, Catch::ColourMode::PlatformDefault, {} } )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( result )
|
|
with expansion:
|
|
{?}
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "console", {}, {}, {} } } )
|
|
with expansion:
|
|
{ {?} } == { {?} }
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
-r/xml
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "xml", {}, {}, {} } } )
|
|
with expansion:
|
|
{ {?} } == { {?} }
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
--reporter/junit
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "junit", {}, {}, {} } } )
|
|
with expansion:
|
|
{ {?} } == { {?} }
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring("Unrecognized reporter") )
|
|
with expansion:
|
|
"Unrecognized reporter, 'unsupported'. Check available with --list-reporters"
|
|
contains: "Unrecognized reporter"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
With output file
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "console", "out.txt"s, {}, {} } } )
|
|
with expansion:
|
|
{ {?} } == { {?} }
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
With Windows-like absolute path as output file
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( result )
|
|
with expansion:
|
|
{?}
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "console", "C:\\Temp\\out.txt"s, {}, {} } } )
|
|
with expansion:
|
|
{ {?} } == { {?} }
|
|
with message:
|
|
result.errorMessage() := ""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
Multiple reporters
|
|
All with output files
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "-r", "xml::out=output.xml", "-r", "junit::out=output-junit.xml" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "xml", "output.xml"s, {}, {} }, { "junit", "output-junit.xml"s, {}, {} } } )
|
|
with expansion:
|
|
{ {?}, {?} } == { {?}, {?} }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
Multiple reporters
|
|
Mixed output files and default output
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "-r", "xml::out=output.xml", "-r", "console" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.reporterSpecifications == vec_Specs{ { "xml", "output.xml"s, {}, {} }, { "console", {}, {}, {} } } )
|
|
with expansion:
|
|
{ {?}, {?} } == { {?}, {?} }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
reporter
|
|
Multiple reporters
|
|
cannot have multiple reporters with default output
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring("Only one reporter may have unspecified output file.") )
|
|
with expansion:
|
|
"Only one reporter may have unspecified output file." contains: "Only one
|
|
reporter may have unspecified output file."
|
|
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring("convert") && ContainsSubstring("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(), ContainsSubstring("never") && ContainsSubstring("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.defaultOutputFilename == "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.defaultOutputFilename == "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.defaultColourMode == ColourMode::PlatformDefault )
|
|
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", "--colour-mode", "default" } ) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.defaultColourMode == ColourMode::PlatformDefault )
|
|
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", "--colour-mode", "ansi"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.defaultColourMode == ColourMode::ANSI )
|
|
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", "--colour-mode", "none"}) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.defaultColourMode == ColourMode::None )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
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(), ContainsSubstring( "colour mode must be one of" ) )
|
|
with expansion:
|
|
"colour mode must be one of: default, ansi, win32, or none. 'wrong' is 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::Approx(0.99) )
|
|
with expansion:
|
|
0.98999999999999999
|
|
==
|
|
Approx( 0.98999999999999999 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Random seed generation accepts known methods
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Catch::generateRandomSeed(method) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Random seed generation accepts known methods
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Catch::generateRandomSeed(method) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Random seed generation accepts known methods
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Catch::generateRandomSeed(method) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Random seed generation reports unknown methods
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( Catch::generateRandomSeed(static_cast<Catch::GenerateFrom>(77)) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Range type with sentinel
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::Detail::stringify(UsesSentinel{}) == "{ }" )
|
|
with expansion:
|
|
"{ }" == "{ }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Registering reporter with '::' in name fails
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_WITH( registry.registerReporter( "with::doublecolons", Catch::Detail::make_unique<TestReporterFactory>() ), "'::' is not allowed in reporter name: 'with::doublecolons'" )
|
|
with expansion:
|
|
"'::' is not allowed in reporter name: 'with::doublecolons'" equals: "'::' is
|
|
not allowed in reporter name: 'with::doublecolons'"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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' }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
Automake reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: Automake
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
Automake reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: Automake
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
Automake reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: Automake
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
compact reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: compact
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
compact reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: compact
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
compact reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: compact
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
console reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: console
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
console reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: console
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
console reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: console
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JSON reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"{
|
|
"version": 1,
|
|
"metadata": {
|
|
"name": "",
|
|
"rng-seed": 1234,
|
|
"catch2-version": "<version>"
|
|
},
|
|
"listings": {
|
|
"tags": [
|
|
{
|
|
"aliases": [
|
|
"fakeTag"
|
|
],
|
|
"count": 1
|
|
}
|
|
]" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: JSON
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JSON reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"{
|
|
"version": 1,
|
|
"metadata": {
|
|
"name": "",
|
|
"rng-seed": 1234,
|
|
"catch2-version": "<version>"
|
|
},
|
|
"listings": {
|
|
"reporters": [
|
|
{
|
|
"name": "fake reporter",
|
|
"description": "fake description"
|
|
}
|
|
]" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: JSON
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JSON reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"{
|
|
"version": 1,
|
|
"metadata": {
|
|
"name": "",
|
|
"rng-seed": 1234,
|
|
"catch2-version": "<version>"
|
|
},
|
|
"listings": {
|
|
"tests": [
|
|
{
|
|
"name": "fake test name",
|
|
"class-name": "",
|
|
"tags": [
|
|
"fakeTestTag"
|
|
],
|
|
"source-location": {
|
|
"filename": "fake-file.cpp",
|
|
"line": 123456789
|
|
}
|
|
}
|
|
]" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: JSON
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JUnit reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: JUnit
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JUnit reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: JUnit
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
JUnit reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: JUnit
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
SonarQube reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: SonarQube
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
SonarQube reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: SonarQube
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
SonarQube reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: SonarQube
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TAP reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: TAP
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TAP reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: TAP
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TAP reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: TAP
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TeamCity reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: TeamCity
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TeamCity reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: TeamCity
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
TeamCity reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: TeamCity
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
XML reporter lists tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fakeTag"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
<TagsFromMatchingTests>
|
|
<Tag>
|
|
<Count>1</Count>
|
|
<Aliases>
|
|
<Alias>fakeTag</Alias>
|
|
</Aliases>
|
|
</Tag>
|
|
</TagsFromMatchingTests>" contains: "fakeTag"
|
|
with message:
|
|
Tested reporter: XML
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
XML reporter lists reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("fake reporter"s) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
<AvailableReporters>
|
|
<Reporter>
|
|
<Name>fake reporter</Name>
|
|
<Description>fake description</Description>
|
|
</Reporter>
|
|
</AvailableReporters>" contains: "fake reporter"
|
|
with message:
|
|
Tested reporter: XML
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( factories.empty() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reporter's write listings to provided stream
|
|
XML reporter lists tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
<MatchingTests>
|
|
<TestCase>
|
|
<Name>fake test name</Name>
|
|
<ClassName/>
|
|
<Tags>[fakeTestTag]</Tags>
|
|
<SourceInfo>
|
|
<File>fake-file.cpp</File>
|
|
<Line>123456789</Line>
|
|
</SourceInfo>
|
|
</TestCase>
|
|
</MatchingTests>" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
with message:
|
|
Tested reporter: XML
|
|
|
|
-------------------------------------------------------------------------------
|
|
Reproducer for #2309 - a very long description past 80 chars (default console
|
|
width) with a late colon : blablabla
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.22999999999999998
|
|
==
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.22 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.21999999999999997 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.24 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.23999999999999999 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.23_a )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.22999999999999998
|
|
!=
|
|
Approx( 1.21999999999999997 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
==
|
|
1.22999999999999998
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.22 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
!=
|
|
1.21999999999999997
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.24 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
!=
|
|
1.23999999999999999
|
|
|
|
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(), ContainsSubstring( "string" ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "string"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testStringForMatching(), ContainsSubstring( "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(), ContainsSubstring( "abc" ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" contains: "abc"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), ContainsSubstring( "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( std::strcmp( empty.data(), "" ) == 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( std::strcmp( rawChars, "hello" ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
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_NOTHROW( original.data() )
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Copy construction is shallow
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( original.begin() == copy.begin() )
|
|
with expansion:
|
|
"original string" == "original string"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Copy assignment is shallow
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( original.begin() == copy.begin() )
|
|
with expansion:
|
|
"original string" == "original string"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.data(), "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.data(), "world!") == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Substrings
|
|
substring start after the end is empty
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( s.substr(1'000'000, 1).empty() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
Comparisons are deep
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
CHECK( reinterpret_cast<char*>(buffer1) != reinterpret_cast<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
|
|
std::string += StringRef
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lhs == "some string += the stringref contents" )
|
|
with expansion:
|
|
"some string += the stringref contents"
|
|
==
|
|
"some string += the stringref contents"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef
|
|
StringRef + StringRef
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( together == "abrakadabra" )
|
|
with expansion:
|
|
"abrakadabra" == "abrakadabra"
|
|
|
|
-------------------------------------------------------------------------------
|
|
StringRef at compilation time
|
|
Simple constructors
|
|
-------------------------------------------------------------------------------
|
|
String.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
empty.size() == 0
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
empty.begin() == empty.end()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.size() == 3
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.data() == abc
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.begin() == abc
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.begin() != stringref.end()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.substr(10, 0).empty()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref.substr(2, 1).data() == abc + 2
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
stringref[1] == 'b'
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
shortened.size() == 2
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
shortened.data() == abc
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
shortened.begin() != shortened.end()
|
|
|
|
-------------------------------------------------------------------------------
|
|
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:
|
|
sr2.empty()
|
|
|
|
String.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
sr2.size() == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying char arrays with statically known sizes - char
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( with_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( no_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying char arrays with statically known sizes - signed char
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( with_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( no_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
-------------------------------------------------------------------------------
|
|
Stringifying char arrays with statically known sizes - unsigned char
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( with_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( ::Catch::Detail::stringify( no_null_terminator ) == R"("abc")"s )
|
|
with expansion:
|
|
""abc"" == ""abc""
|
|
|
|
-------------------------------------------------------------------------------
|
|
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, ContainsSubstring( "[@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, ContainsSubstring( "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, ContainsSubstring( "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, ContainsSubstring( "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 ) ) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Tags with spaces and non-alphanumerical characters are accepted
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.tags.size() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( testCase.tags, VectorContains( Tag( "tag with spaces" ) ) && VectorContains( Tag( "I said \"good day\" sir!"_catch_sr ) ) )
|
|
with expansion:
|
|
{ {?}, {?} } ( Contains: {?} and Contains: {?} )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( std::is_default_constructible<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( std::is_default_constructible<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( std::is_trivially_copyable<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( std::is_trivially_copyable<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::is_arithmetic<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::is_arithmetic<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::is_arithmetic<TestType>::value )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 identical tags keeps just one
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.tags.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testCase.tags[0] == Tag( "tag1" ) )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
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:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Testing checked-if
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_IF( true )
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
|
CHECKED_IF( false )
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_ELSE( true )
|
|
|
|
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
|
CHECKED_ELSE( false )
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Testing checked-if 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_IF( true )
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Testing checked-if 3
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
|
CHECKED_ELSE( false )
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Testing checked-if 4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
CHECKED_ELSE( true )
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
{Unknown expression after the reported line}
|
|
due to unexpected exception with message:
|
|
Uncaught exception should fail!
|
|
|
|
-------------------------------------------------------------------------------
|
|
Testing checked-if 5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED - but was ok:
|
|
CHECKED_ELSE( false )
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
{Unknown expression after the reported line}
|
|
due to unexpected exception with message:
|
|
Uncaught exception should fail!
|
|
|
|
-------------------------------------------------------------------------------
|
|
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'
|
|
|
|
-------------------------------------------------------------------------------
|
|
The default listing implementation write to provided stream
|
|
Listing tags
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring("[fakeTag]"s) )
|
|
with expansion:
|
|
"All available tags:
|
|
1 [fakeTag]
|
|
1 tag
|
|
|
|
" contains: "[fakeTag]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
The default listing implementation write to provided stream
|
|
Listing reporters
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake reporter"s ) && ContainsSubstring( "fake description"s ) )
|
|
with expansion:
|
|
"Available reporters:
|
|
fake reporter: fake description
|
|
|
|
" ( contains: "fake reporter" and contains: "fake description" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
The default listing implementation write to provided stream
|
|
Listing tests
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fake test name"s ) && ContainsSubstring( "fakeTestTag"s ) )
|
|
with expansion:
|
|
"All available test cases:
|
|
fake test name
|
|
[fakeTestTag]
|
|
1 test case
|
|
|
|
" ( contains: "fake test name" and contains: "fakeTestTag" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
The default listing implementation write to provided stream
|
|
Listing listeners
|
|
-------------------------------------------------------------------------------
|
|
Reporters.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Reporters.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( listingString, ContainsSubstring( "fakeListener"s ) && ContainsSubstring( "fake description"s ) )
|
|
with expansion:
|
|
"Registered listeners:
|
|
fakeListener: fake description
|
|
|
|
" ( contains: "fakeListener" and contains: "fake description" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Container conversions
|
|
Two equal containers of different container types
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, RangeEquals( c_array ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, UnorderedRangeEquals( c_array ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Container conversions
|
|
Two equal containers of different container types (differ in array N)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_3, !RangeEquals( array_int_4 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 1, 2, 3, 4 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_3, !UnorderedRangeEquals( array_int_4 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not unordered elements are { 1, 2, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Container conversions
|
|
Two equal containers of different container types and value types
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, RangeEquals( vector_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, UnorderedRangeEquals( vector_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Container conversions
|
|
Two equal containers, one random access, one not
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
ContainerIsRandomAccess( array_int_a ) != ContainerIsRandomAccess(
|
|
list_char_a )
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, RangeEquals( list_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_int_a, UnorderedRangeEquals( list_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Value type
|
|
Two equal containers of different value types
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_int_a, RangeEquals( vector_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_int_a, UnorderedRangeEquals( vector_char_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Value type
|
|
Two non-equal containers of different value types
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_int_a, !RangeEquals( vector_char_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 1, 2, 2 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_int_a, !UnorderedRangeEquals( vector_char_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not unordered elements are { 1, 2, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Ranges with begin that needs ADL
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( a, !RangeEquals( b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 3, 2, 1 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( a, UnorderedRangeEquals( b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 3, 2, 1 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Type conversions of RangeEquals and similar
|
|
Custom predicate
|
|
Two equal non-empty containers (close enough)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, RangeEquals( array_a_plus_1, close_enough ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 2, 3, 4 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, UnorderedRangeEquals( array_a_plus_1, close_enough ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 2, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Unexpected exceptions can be translated
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
3.14000000000000012
|
|
|
|
-------------------------------------------------------------------------------
|
|
Upcasting special member functions
|
|
Move constructor
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( bptr->i == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Upcasting special member functions
|
|
move assignment
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( bptr->i == 3 )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllMatch range matcher
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AllMatch(SizeIs(5)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } all match has size == 5
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AllMatch(Contains(0) && Contains(1)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } not all match ( contains element 0 and contains
|
|
element 1 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllMatch range matcher
|
|
Type requires ADL found begin and end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl, AllMatch( Predicate<int>( []( int elem ) { return elem < 6; } ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } all match matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllMatch range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, allMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } all match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllMatch range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, !allMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } not all match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Basic usage
|
|
All true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AllTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Basic usage
|
|
Empty evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AllTrue() )
|
|
with expansion:
|
|
{ } contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Basic usage
|
|
One false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AllTrue() )
|
|
with expansion:
|
|
{ true, true, false, true, true } not contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Basic usage
|
|
All false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AllTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } not contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Contained type is convertible to bool
|
|
All true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AllTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Contained type is convertible to bool
|
|
One false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AllTrue() )
|
|
with expansion:
|
|
{ true, true, false, true, true } not contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Contained type is convertible to bool
|
|
All false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AllTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } not contains only true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, AllTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } contains only true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AllTrue range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, !AllTrue() )
|
|
with expansion:
|
|
{ true, true, false, true, true } not contains only true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyMatch range matcher
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AnyMatch(SizeIs(5)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } any match has size == 5
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AnyMatch(Contains(0) && Contains(10)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } not any match ( contains element 0 and contains
|
|
element 10 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyMatch range matcher
|
|
Type requires ADL found begin and end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl, AnyMatch( Predicate<int>( []( int elem ) { return elem < 3; } ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } any match matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyMatch range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, !anyMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } not any match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyMatch range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, anyMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } any match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Basic usage
|
|
All true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AnyTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Basic usage
|
|
Empty evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AnyTrue() )
|
|
with expansion:
|
|
{ } not contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Basic usage
|
|
One true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AnyTrue() )
|
|
with expansion:
|
|
{ false, false, true, false, false } contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Basic usage
|
|
All false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AnyTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } not contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Contained type is convertible to bool
|
|
All true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AnyTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Contained type is convertible to bool
|
|
One true evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, AnyTrue() )
|
|
with expansion:
|
|
{ false, false, true, false, false } contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Contained type is convertible to bool
|
|
All false evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !AnyTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } not contains at least one true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, AnyTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, true } contains at least one true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of AnyTrue range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, AnyTrue() )
|
|
with expansion:
|
|
{ false, false, true, true, true } contains at least one true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneMatch range matcher
|
|
Basic usage
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, NoneMatch(SizeIs(6)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } none match has size == 6
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !NoneMatch(Contains(0) && Contains(1)) )
|
|
with expansion:
|
|
{ { 0, 1, 2, 3, 5 }, { 4, -3, -2, 5, 0 }, { 0, 0, 0, 5, 0 }, { 0, -5, 0, 5, 0
|
|
}, { 1, 0, 0, -1, 5 } } not none match ( contains element 0 and contains
|
|
element 1 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneMatch range matcher
|
|
Type requires ADL found begin and end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl, NoneMatch( Predicate<int>( []( int elem ) { return elem > 6; } ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } none match matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneMatch range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, noneMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } none match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneMatch range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, !noneMatch )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } not none match matches undescribed predicate
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Basic usage
|
|
All true evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !NoneTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } not contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Basic usage
|
|
Empty evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, NoneTrue() )
|
|
with expansion:
|
|
{ } contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Basic usage
|
|
One true evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !NoneTrue() )
|
|
with expansion:
|
|
{ false, false, true, false, false } not contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Basic usage
|
|
All false evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, NoneTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Contained type is convertible to bool
|
|
All true evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !NoneTrue() )
|
|
with expansion:
|
|
{ true, true, true, true, true } not contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Contained type is convertible to bool
|
|
One true evaluates to false
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, !NoneTrue() )
|
|
with expansion:
|
|
{ false, false, true, false, false } not contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Contained type is convertible to bool
|
|
All false evaluates to true
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( data, NoneTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } contains no true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Shortcircuiting
|
|
All are read
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, NoneTrue() )
|
|
with expansion:
|
|
{ false, false, false, false, false } contains no true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of NoneTrue range matcher
|
|
Shortcircuiting
|
|
Short-circuited
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked, !NoneTrue() )
|
|
with expansion:
|
|
{ false, false, true, true, true } not contains no true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked.m_derefed[4] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Empty container matches empty container
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty_vector, RangeEquals( empty_vector ) )
|
|
with expansion:
|
|
{ } elements are { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Empty container does not match non-empty container
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty_vector, !RangeEquals( non_empty_vector ) )
|
|
with expansion:
|
|
{ } not elements are { 1 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( non_empty_vector, !RangeEquals( empty_vector ) )
|
|
with expansion:
|
|
{ 1 } not elements are { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Two equal 1-length non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( non_empty_array, RangeEquals( non_empty_array ) )
|
|
with expansion:
|
|
{ 1 } elements are { 1 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Two equal-sized, equal, non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_a, RangeEquals( array_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Two equal-sized, non-equal, non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_a, !RangeEquals( array_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 2, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_a, !RangeEquals( array_c ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 1, 2, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Basic usage
|
|
Two non-equal-sized, non-empty containers (with same first elements)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, !RangeEquals( vector_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 1, 2, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Custom predicate
|
|
Two equal non-empty containers (close enough)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, RangeEquals( vector_a_plus_1, close_enough ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 2, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Custom predicate
|
|
Two non-equal non-empty containers (close enough)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, !RangeEquals( vector_b, close_enough ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not elements are { 3, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Ranges that need ADL begin/end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl1, RangeEquals( needs_adl2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } elements are { 1, 2, 3, 4, 5 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl1, RangeEquals( needs_adl3, []( int l, int r ) { return l + 1 == r; } ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } elements are { 2, 3, 4, 5, 6 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Compare against std::initializer_list
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( array_a, RangeEquals( { 1, 2, 3 } ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 1, 2, 3 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( array_a, RangeEquals( { 2, 4, 6 }, []( int l, int r ) { return l * 2 == r; } ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } elements are { 2, 4, 6 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Check short-circuiting behaviour
|
|
Check short-circuits on failure
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked1, !RangeEquals( arr ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4 } not elements are { 1, 2, 4, 4 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( mocked1.m_derefed[3] )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of RangeEquals range matcher
|
|
Check short-circuiting behaviour
|
|
All elements are checked on success
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( mocked1, RangeEquals( arr ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4 } elements are { 1, 2, 3, 4 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[0] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[1] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[2] )
|
|
with expansion:
|
|
true
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( mocked1.m_derefed[3] )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Empty container matches empty container
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty_vector, UnorderedRangeEquals( empty_vector ) )
|
|
with expansion:
|
|
{ } unordered elements are { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Empty container does not match non-empty container
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty_vector, !UnorderedRangeEquals( non_empty_vector ) )
|
|
with expansion:
|
|
{ } not unordered elements are { 1 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( non_empty_vector, !UnorderedRangeEquals( empty_vector ) )
|
|
with expansion:
|
|
{ 1 } not unordered elements are { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Two equal 1-length non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( non_empty_array, UnorderedRangeEquals( non_empty_array ) )
|
|
with expansion:
|
|
{ 1 } unordered elements are { 1 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Two equal-sized, equal, non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_a, UnorderedRangeEquals( array_a ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } unordered elements are { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Two equal-sized, non-equal, non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( array_a, !UnorderedRangeEquals( array_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not unordered elements are { 2, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Basic usage
|
|
Two non-equal-sized, non-empty containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, !UnorderedRangeEquals( vector_b ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } not unordered elements are { 1, 2, 3, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Custom predicate
|
|
Two equal non-empty containers (close enough)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, UnorderedRangeEquals( vector_a_plus_1, close_enough ) )
|
|
with expansion:
|
|
{ 1, 10, 20 } unordered elements are { 11, 21, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Custom predicate
|
|
Two non-equal non-empty containers (close enough)
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( vector_a, !UnorderedRangeEquals( vector_b, close_enough ) )
|
|
with expansion:
|
|
{ 1, 10, 21 } not unordered elements are { 11, 21, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Ranges that need ADL begin/end
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( needs_adl1, UnorderedRangeEquals( needs_adl2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3, 4, 5 } unordered elements are { 1, 2, 3, 4, 5 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of UnorderedRangeEquals range matcher
|
|
Compare against std::initializer_list
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( array_a, UnorderedRangeEquals( { 10, 20, 1 } ) )
|
|
with expansion:
|
|
{ 1, 10, 20 } unordered elements are { 10, 20, 1 }
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( array_a, UnorderedRangeEquals( { 11, 21, 2 }, []( int l, int r ) { return std::abs( l - r ) <= 1; } ) )
|
|
with expansion:
|
|
{ 1, 10, 20 } unordered elements are { 11, 21, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of the SizeIs range matcher
|
|
Some with stdlib containers
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty_vec, SizeIs(0) )
|
|
with expansion:
|
|
{ } has size == 0
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty_vec, !SizeIs(2) )
|
|
with expansion:
|
|
{ } not has size == 2
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty_vec, SizeIs(Lt(2)) )
|
|
with expansion:
|
|
{ } size matches is less than 2
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( arr, SizeIs(2) )
|
|
with expansion:
|
|
{ 0, 0 } has size == 2
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( arr, SizeIs( Lt(3)) )
|
|
with expansion:
|
|
{ 0, 0 } size matches is less than 3
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( arr, !SizeIs(!Lt(3)) )
|
|
with expansion:
|
|
{ 0, 0 } not size matches not is less than 3
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( map, SizeIs(3) )
|
|
with expansion:
|
|
{ {?}, {?}, {?} } has size == 3
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of the SizeIs range matcher
|
|
Type requires ADL found size free function
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( unrelated::ADL_size{}, SizeIs(12) )
|
|
with expansion:
|
|
{?} has size == 12
|
|
|
|
-------------------------------------------------------------------------------
|
|
Usage of the SizeIs range matcher
|
|
Type has size member
|
|
-------------------------------------------------------------------------------
|
|
MatchersRanges.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
MatchersRanges.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( has_size{}, SizeIs(13) )
|
|
with expansion:
|
|
{?} has size == 13
|
|
|
|
-------------------------------------------------------------------------------
|
|
Use a custom approx
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.23 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.22999999999999998 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.22 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.21999999999999997 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.24 ) )
|
|
with expansion:
|
|
1.22999999999999998
|
|
==
|
|
Approx( 1.23999999999999999 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != approx( 1.25 ) )
|
|
with expansion:
|
|
1.22999999999999998 != Approx( 1.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
==
|
|
1.22999999999999998
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.22 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
==
|
|
1.21999999999999997
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.24 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 )
|
|
==
|
|
1.23999999999999999
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) != 1.25 )
|
|
with expansion:
|
|
Approx( 1.22999999999999998 ) != 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'
|
|
|
|
-------------------------------------------------------------------------------
|
|
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]"
|
|
|
|
-------------------------------------------------------------------------------
|
|
XmlWriter writes boolean attributes as true/false
|
|
-------------------------------------------------------------------------------
|
|
Xml.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Xml.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( stream.str(), ContainsSubstring(R"(attr1="true")") && ContainsSubstring(R"(attr2="false")") )
|
|
with expansion:
|
|
"<?xml version="1.0" encoding="UTF-8"?>
|
|
<Element1 attr1="true" attr2="false"/>
|
|
" ( contains: "attr1="true"" and contains: "attr2="false"" )
|
|
|
|
-------------------------------------------------------------------------------
|
|
a succeeding test can still be skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: PASSED:
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
analyse no analysis
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.mean.point.count() == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.mean.lower_bound.count() == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.mean.upper_bound.count() == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.standard_deviation.point.count() == 0 )
|
|
with expansion:
|
|
0.0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.standard_deviation.lower_bound.count() == 0 )
|
|
with expansion:
|
|
0.0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.standard_deviation.upper_bound.count() == 0 )
|
|
with expansion:
|
|
0.0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.total() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.low_mild == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.low_severe == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.high_mild == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.high_severe == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outliers.samples_seen == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( analysis.outlier_variance == 0 )
|
|
with expansion:
|
|
0.0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
benchmark function call
|
|
without chronometer
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.started == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.finished == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.started == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.finished == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( called == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
benchmark function call
|
|
with chronometer
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.started == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.finished == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.started == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( model.finished == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( called == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 - but was ok:
|
|
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 - but was ok:
|
|
CHECKED_IF( flag )
|
|
with expansion:
|
|
false
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( testCheckedIf( false ) )
|
|
with expansion:
|
|
false
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
none
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
low severe
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
low mild
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
high mild
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
high severe
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
classify_outliers
|
|
mixed
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.samples_seen == static_cast<int>(x.size()) )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_severe == los )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.low_mild == lom )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_mild == him )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.high_severe == his )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( o.total() == los + lom + him + his )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
convertToBits
|
|
-------------------------------------------------------------------------------
|
|
FloatingPoint.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( 0.f ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( -0.f ) == ( 1ULL << 31 ) )
|
|
with expansion:
|
|
2147483648 (0x<hex digits>)
|
|
==
|
|
2147483648 (0x<hex digits>)
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( 0. ) == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( -0. ) == ( 1ULL << 63 ) )
|
|
with expansion:
|
|
9223372036854775808 (0x<hex digits>)
|
|
==
|
|
9223372036854775808 (0x<hex digits>)
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( std::numeric_limits<float>::denorm_min() ) == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
FloatingPoint.tests.cpp:<line number>: PASSED:
|
|
CHECK( convertToBits( std::numeric_limits<double>::denorm_min() ) == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
dynamic skipping works with generators
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
explicitly with message:
|
|
skipping because answer = 41
|
|
|
|
-------------------------------------------------------------------------------
|
|
dynamic skipping works with generators
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
dynamic skipping works with generators
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
explicitly with message:
|
|
skipping because answer = 43
|
|
|
|
-------------------------------------------------------------------------------
|
|
empty tags are not allowed
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( Catch::TestCaseInfo("", { "test with an empty tag", "[]" }, dummySourceLineInfo) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
erfc_inv
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( erfc_inv(1.103560) == Approx(-0.09203687623843015) )
|
|
with expansion:
|
|
-0.09203687623843014
|
|
==
|
|
Approx( -0.09203687623843015 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( erfc_inv(1.067400) == Approx(-0.05980291115763361) )
|
|
with expansion:
|
|
-0.05980291115763361
|
|
==
|
|
Approx( -0.05980291115763361 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( erfc_inv(0.050000) == Approx(1.38590382434967796) )
|
|
with expansion:
|
|
1.38590382434967774
|
|
==
|
|
Approx( 1.38590382434967796 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
estimate_clock_resolution
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res.mean.count() == rate )
|
|
with expansion:
|
|
2000.0 == 2000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res.outliers.total() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
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:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failed assertions before SKIP cause test case to fail
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: FAILED:
|
|
CHECK( 3 == 4 )
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing for some generator values causes entire test case to fail
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing for some generator values causes entire test case to fail
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing for some generator values causes entire test case to fail
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing for some generator values causes entire test case to fail
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing in some unskipped sections causes entire test case to fail
|
|
skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
failing in some unskipped sections causes entire test case to fail
|
|
not skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: FAILED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
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'
|
|
|
|
-------------------------------------------------------------------------------
|
|
is_unary_function
|
|
-------------------------------------------------------------------------------
|
|
Clara.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary1)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary2)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary3)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary4)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary5)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
Catch::Clara::Detail::is_unary_function<decltype(unary6)>::value
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<decltype(binary1)>::value)
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<decltype(binary2)>::value)
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<decltype(nullary1)>::value)
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<decltype(nullary2)>::value)
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<int>::value)
|
|
|
|
Clara.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
!(Catch::Clara::Detail::is_unary_function<std::string const&>::value)
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
makeStream recognizes %debug stream name
|
|
-------------------------------------------------------------------------------
|
|
Stream.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Catch::makeStream( "%debug" ) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
make_unique reimplementation
|
|
From lvalue copies
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lval.has_moved )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
make_unique reimplementation
|
|
From rvalue moves
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rval.has_moved )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
make_unique reimplementation
|
|
Variadic constructor
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr == std::tuple<int, double, int>{1, 2., 3} )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
mean
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( m == 19. )
|
|
with expansion:
|
|
19.0 == 19.0
|
|
|
|
-------------------------------------------------------------------------------
|
|
measure
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x == 17 )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x == 23 )
|
|
with expansion:
|
|
23 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( r.elapsed.count() == 42 )
|
|
with expansion:
|
|
42 == 42
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( r.result == 23 )
|
|
with expansion:
|
|
23 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( r.iterations == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( s.elapsed.count() == 69 )
|
|
with expansion:
|
|
69 == 69
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( s.result == 17 )
|
|
with expansion:
|
|
17 == 17
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( s.iterations == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
a-------------------------------------------------------------------------------
|
|
nested sections can be skipped dynamically at runtime
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'A'
|
|
|
|
!
|
|
b1-------------------------------------------------------------------------------
|
|
nested sections can be skipped dynamically at runtime
|
|
B
|
|
B1
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'B1'
|
|
|
|
!
|
|
-------------------------------------------------------------------------------
|
|
nested sections can be skipped dynamically at runtime
|
|
B
|
|
B2
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
!
|
|
-------------------------------------------------------------------------------
|
|
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:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
normal_quantile
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.551780) == Approx(0.13015979861484198) )
|
|
with expansion:
|
|
0.13015979861484195
|
|
==
|
|
Approx( 0.13015979861484198 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.533700) == Approx(0.08457408802851875) )
|
|
with expansion:
|
|
0.08457408802851875
|
|
==
|
|
Approx( 0.08457408802851875 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.025000) == Approx(-1.95996398454005449) )
|
|
with expansion:
|
|
-1.95996398454005405
|
|
==
|
|
Approx( -1.95996398454005449 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
no replace in already-replaced string
|
|
lengthening
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "c", "cc") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "abccdefccg" )
|
|
with expansion:
|
|
"abccdefccg" == "abccdefccg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
no replace in already-replaced string
|
|
shortening
|
|
-------------------------------------------------------------------------------
|
|
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 == "--" )
|
|
with expansion:
|
|
"--" == "--"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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"
|
|
|
|
-------------------------------------------------------------------------------
|
|
request an unknown %-starting stream fails
|
|
-------------------------------------------------------------------------------
|
|
Stream.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( Catch::makeStream( "%somestream" ) )
|
|
|
|
-------------------------------------------------------------------------------
|
|
resolution
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res.size() == count )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( res[i] == rate )
|
|
with expansion:
|
|
1000.0 == 1000 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
run_for_at_least, chronometer
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
1 >= 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
2 >= 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
4 >= 2
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
8 >= 4
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
16 >= 8
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
32 >= 16
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
64 >= 32
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( meter.runs() >= old_runs )
|
|
with expansion:
|
|
128 >= 64
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.elapsed >= time )
|
|
with expansion:
|
|
128 ns >= 100 ns
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.result == Timing.iterations + 17 )
|
|
with expansion:
|
|
145 == 145
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.iterations >= time.count() )
|
|
with expansion:
|
|
128 >= 100
|
|
|
|
-------------------------------------------------------------------------------
|
|
run_for_at_least, int
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
1 >= 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
2 >= 1
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
4 >= 2
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
8 >= 4
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
16 >= 8
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
32 >= 16
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
64 >= 32
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( x >= old_x )
|
|
with expansion:
|
|
128 >= 64
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.elapsed >= time )
|
|
with expansion:
|
|
128 ns >= 100 ns
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.result == Timing.iterations + 17 )
|
|
with expansion:
|
|
145 == 145
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Timing.iterations >= time.count() )
|
|
with expansion:
|
|
128 >= 100
|
|
|
|
-------------------------------------------------------------------------------
|
|
second tag
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'second tag'
|
|
|
|
-------------------------------------------------------------------------------
|
|
sections can be skipped dynamically at runtime
|
|
not skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
sections can be skipped dynamically at runtime
|
|
skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
sections can be skipped dynamically at runtime
|
|
also not skipped
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
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, VectorContains( Tag( "magic-tag" ) ) && VectorContains( Tag( "."_catch_sr ) ) )
|
|
with expansion:
|
|
{ {?}, {?} } ( Contains: {?} and Contains: {?} )
|
|
|
|
-------------------------------------------------------------------------------
|
|
skipped tests can optionally provide a reason
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
explicitly with message:
|
|
skipping because answer = 43
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
startsWith
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( startsWith("", 'c') )
|
|
with expansion:
|
|
!false
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( startsWith(std::string("abc"), 'a') )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( startsWith("def"_catch_sr, 'd') )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
stdout and stderr streams have %-starting name
|
|
-------------------------------------------------------------------------------
|
|
Stream.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::makeStream( "%stderr" )->isConsole() )
|
|
with expansion:
|
|
true
|
|
|
|
Stream.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Catch::makeStream( "%stdout" )->isConsole() )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
tags with dots in later positions are not parsed as hidden
|
|
-------------------------------------------------------------------------------
|
|
Tag.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testcase.tags.size() == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
Tag.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( testcase.tags[0].original == "magic.tag"_catch_sr )
|
|
with expansion:
|
|
magic.tag == magic.tag
|
|
|
|
-------------------------------------------------------------------------------
|
|
tests can be skipped dynamically at runtime
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Skip.tests.cpp:<line number>: SKIPPED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.5f" == ::Catch::Detail::stringify(float(1.5)) )
|
|
with expansion:
|
|
"1.5f" == "1.5f"
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 1.5f, 0 }" == ::Catch::Detail::stringify(type{1.5f,0}) )
|
|
with expansion:
|
|
"{ 1.5f, 0 }" == "{ 1.5f, 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<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.5f }" == ::Catch::Detail::stringify(value) )
|
|
with expansion:
|
|
"{ { 42 }, { }, 1.5f }"
|
|
==
|
|
"{ { 42 }, { }, 1.5f }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
uniform samples
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( e.point == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( e.upper_bound == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( e.lower_bound == 23 )
|
|
with expansion:
|
|
23.0 == 23
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( e.confidence_interval == 0.95 )
|
|
with expansion:
|
|
0.94999999999999996 == 0.94999999999999996
|
|
|
|
-------------------------------------------------------------------------------
|
|
uniform_integer_distribution can return the bounds
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( dist.a() == -10 )
|
|
with expansion:
|
|
-10 == -10
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( dist.b() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Default constructed unique_ptr is empty
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( ptr )
|
|
with expansion:
|
|
!{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Take ownership of allocation
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr )
|
|
with expansion:
|
|
{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == naked_ptr )
|
|
with expansion:
|
|
0x<hex digits> == 0x<hex digits>
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Take ownership of allocation
|
|
Plain reset deallocates
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( ptr )
|
|
with expansion:
|
|
!{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Take ownership of allocation
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr )
|
|
with expansion:
|
|
{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == naked_ptr )
|
|
with expansion:
|
|
0x<hex digits> == 0x<hex digits>
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Take ownership of allocation
|
|
Reset replaces ownership
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr )
|
|
with expansion:
|
|
{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() != 0 )
|
|
with expansion:
|
|
0x<hex digits> != 0
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Release releases ownership
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( ptr )
|
|
with expansion:
|
|
!{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
CHECK( ptr.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Move constructor
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( ptr1 )
|
|
with expansion:
|
|
!{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr2 )
|
|
with expansion:
|
|
{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
Move assignment
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( ptr2 )
|
|
with expansion:
|
|
!{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr1 )
|
|
with expansion:
|
|
{?}
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr1 == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
unique_ptr reimplementation: basic functionality
|
|
free swap
|
|
-------------------------------------------------------------------------------
|
|
UniquePtr.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr1 == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
UniquePtr.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( *ptr2 == 1 )
|
|
with expansion:
|
|
1 == 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
warmup
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( (iterations * rate) > Catch::Benchmark::Detail::warmup_time.count() )
|
|
with expansion:
|
|
160000000 (0x<hex digits>) > 100
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( (end - start) > Catch::Benchmark::Detail::warmup_time )
|
|
with expansion:
|
|
310016000 ns > 100 ms
|
|
|
|
-------------------------------------------------------------------------------
|
|
weighted_average_quantile
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( q1 == 14.5 )
|
|
with expansion:
|
|
14.5 == 14.5
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( med == 18. )
|
|
with expansion:
|
|
18.0 == 18.0
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( q3 == 23. )
|
|
with expansion:
|
|
23.0 == 23.0
|
|
|
|
-------------------------------------------------------------------------------
|
|
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: 419 | 313 passed | 86 failed | 6 skipped | 14 failed as expected
|
|
assertions: 2269 | 2087 passed | 147 failed | 35 failed as expected
|
|
|