ba06a404d1
53d0d913a v3.5.0 1648c30ec Look just for 'Catch2 X.Y.Z' in doc placeholder update d4e9fb8aa Highlight that SECTIONs rerun the entire test case from beginning (#2749) b606bc280 Remove obsolete section in limitations.md 4ab0af8ba Fix minor typos in documentation (#2769) b7d70ddcd Ensure we always read 32 bit seed from std::random_device a6f22c516 Remove static instance of std::random_device in Benchmark::analyse_samples 1887d42e3 Use our PCG32 RNG instead of mt19937 in Benchmark::analyse_samples 1774dbfd5 Make it clearer that the JSON reporter is WIP cb07ff9a7 Fix uniform_floating_point_distribution for unit ranges ae4fe16b8 Make the user-facing random Generators reproducible 28c66fdc5 Make uniform_floating_point_distribution reproducible ed9d672b5 Add uniform_integer_distribution 04a829b0e Add helpers for implementing uniform integer distribution ab1b079e4 Add uniform_floating_point_distribution d139b4ff7 Add implementation of helpers for uniform float distribution bfd9f0f5a Move nextafter polyfill to polyfills.hpp 9a1e73568 Add test showing literals and complex generators in one GENERATE 21d2da23b Fix typo in tostring.md d1d7414eb Always run apt-get update before apt-get install dacbf4fd6 Drop VS 2017 support 0520ff443 [DOC] Replaced broken link (fixes #2770) 4a7be16c8 Fix compilation on Xbox platforms 32d9ae24b JSONWriter deals in StringRefs instead of std::strings de7ba4e88 fn need to be in parenthesis 733b901dd Fix special character escaping in JsonWriter 7bf136b50 Add JSON reporter (#2706) 2c68a0d05 lifted suggested version 01cac90c6 Bump up actions/checkout version to v4 (#2760) b735dfce2 Increase build parallelism on macOS (#2759) caffe79a3 Fix missing include in catch_message.hpp a8cf3e671 Mark `CATCH_CONFIG_` options as advanced 79d39a195 Fix tests for C++23's multi-arg index operator 6ebc013b8 Fix UDL definitions for C++23 966d36155 Improve formatting of test specification docs 766541d12 why-catch.md: Add JetBrains survey link 7b793314e Catch.cmake: Support CMake multi-config with PRE_TEST discovery mode (#2739) 0fb817e41 fix some bugprone-macro-parentheses warnings f161110be Merge pull request #2747 from xandox/devel db495acdb correct argument references in CatchAddTests.cmake 9c541ca72 Add test for multiple streaming parts in UNSCOPED_INFO 92672591c Make jackknife TU-local to stats.cpp 56fcd584c Make directCompare TU-local to stats.cpp aafe09bc1 Update meson.build to fix #2722 (#2742) 47a2c9693 Reduce the number of templates in Benchmarking fb96279ae Remove superfluous stdlib includes from catch_benchmark.hpp e14a08d73 Remove unused typedef from Benchmark::Environment 9bba07cb8 Replace vector iterator args in benchmarks with ptr args b4ffba508 Update sample output in docs/benchmarks.md 3a5cde55b implement stringify for std::nullopt_t 2a19ae16b Rewrite commandline test spec docs f24d39e42 Support C arrays and ADL ranges in from_range generator 85eb4652b Add nice license headers to files in examples/ and fuzzing/ 5bba3e403 Edited amalgamated file generator, to block REUSE from getting confused e09de7222 Small cleanup in XML reporter a64ff326b Change 'estimated' to 'est run time' in console reporter output ad5646347 Flush stream after benchmarkStarting in ConsoleReporter 9538d1600 Mention missing catch_user_config.hpp in FAQ a94bee771 Add missing line for v3.4.0 to ToC in release-notes.md d7304f0c4 Constify section hints in static-analysis mode cd60a0301 Assert Info reset need to also reset result disposition to normal to handle uncaught exception correctly (#2723) b593be211 Always default empty destructors ed4acded3 Don't define tryTranslators function if exception are disabled 4acc51828 Introduce CATCH_CONFIG_PREFIX_MESSAGES to only prefix a few logging related macros. (#2544) 6e79e682b v3.4.0 683c85772 Clean up explanation in tests 1b049bdba 2 more TEST_CASEs to DiscoverTests/register-tests.cpp e4b16053a Escape Catch2 test names in catch_discover_tests tests 42ee66b5e Fix handling of semicolon and backslash characters in CMake test discovery (#2676) a0c6a2846 Fix possible FP in catch_discover_tests tests c8363143e Add test scaffolding for catch_discover_tests 7a52dfa77 Fix typo in cross-docs links 913173663 Bazel support: Update skylib 0631b607e Test & document SKIP in generator constructor dff7513b2 Static analysis cleanup in tests bf5aa7b38 Experimental static analysis support in TEST_CASE and SECTION dba9197ec Add new config option: STATIC_ANALYSIS_SUPPORT f60c15364 Add macro for suppressing Wshadow b3cf1bfb5 Avoid unused variable warning in GeneratorsImpl tests 73b93ce6b Include catch_user_config.hpp in all catch_config_* files 8008625d7 Merge pull request #2693 from Ali-Amir/u/ali/optional-meson-unit-tests ce7b15302 Add option to disable building unit tests in Meson build file. 535205e2a Suppress -Wunused-result warning in gcc 689fdcd7d Fix some tests never being run a153fce72 Improve error messages for TEST_CASE tag parsing errors 06c0e1cfa Merge pull request #2689 from ThePhD/fix/includes/header-exception 05d7eb5a0 🛠 Add <exception> header where strictly necessary f53bb3ae7 meson: require version >=0.54.1 ce8a7b339 Merge pull request #2687 from ChrisThrasher/sfml 6dce539fa Add SFML to the list of open source users 5a40b2275 Update CatchConfigOptions.cmake 598895d04 Fix Wredundant-decls 0dc82e08d Move CATCH_INTERNAL_STRINGIFY macro into its own header 8ca504cbc Move AssertionResult when passing it inside RunContext c57b5cdf4 Move-enable Catch::optional d84777c9c Fix assertionStarting events being sent after the expr is evaluated 51fdbedd1 Internal linkage for outlier_variance 10f0a5864 Some template instantiation reductions fe64c2892 Reduce compilation costs of benchmarks 7d07efc92 Clean up iterator usage in benchmarks f3c678c0a Constexprify constants in estimate_clock.hpp 46539b6d9 Fix spelling 10596b227 Fix unreachable-code-return warnings 897fe2a01 cmake: Improve unreachable-code warnings aad926baf Catch.cmake: Add new DISCOVERY_MODE option to catch_discover_tests 4e8399d83 CatchAddTests.cmake: Refactor into callable method 9a2a4eadc Bump xml-format-version in XML reporter fb806da76 Add lineinfo to XML reporter output for INFO/WARN 50bf00e26 Fix reporter detection in catch_discover_tests 9f08097f5 Cleanup internal includes by splitting out some event structs 1f881ab46 Split ITestInvoker into its own header c487b27d9 Reduce misc includes all around 3230760db Cleanup in translating exceptions to messages b3ebce715 Cleanup benchmarking includes d0f70fdfd Unify IReporterRegistry and ReporterRegistry 4f4ad8ada Sprinkle some constexpr around 5b665be64 Cut out catch_interfaces_capture.hpp include from the main include 2598116aa Mark various anonymous classes final 173aa3f1f Devirtualize Context 28437e121 Remove pointless member variable from RunContext 3c8fb6bbb Internal linkage for generator trackers 72f3ce4db Outline the actual registering of listener factories to cpp file 62167d756 Reduce internal includes 678341134 Fixed extras installation and shard impl location 7b4dd326c Remove obsolete comment in multireporter 1dfaa8abe Outline throwing of TestSkipException ba94278bd Inline trivial function in AssertionHandler 8e5a4b6f7 Remove superfluous pointer copy in AssertionStats constructor 9b884d810 Fix refactoring 8a1b3b81c Add wxWidgets as another Open Source project using Catch e5aabb671 Add xmlwrapp to the list of Open Source projects using Catch 3a1ef1409 Use hasMessage() instead of getMessage().empty() 13fae1e2f Move exception's translation into AssertionResultData message 3220ae6d4 Add support for the IAR compiler 0a0ebf500 Support elements without op!= in VectorEquals 69f35a5ac Bazel support: Update skylib version 3f0283de7 v3.3.2 6fbb3f072 Add IsNaN matcher 9ff3cde87 Simplify test name creation for list-templated test cases 4d802ca58 Use StringRef UDL in more preprocessor-generated strings 13711be7c Use StringRef UDL for generated generator names 27ba26f74 Merge pull request #2643 from kisielk/patch-1 a209bcfb5 Update build instructions in contributing.md 584973a48 Early evaluate line loc in NameAndLoc::operator== 4f7c8cb28 Avoid copying NameAndLocationRef when passed as argument e1dbad4c9 Inline StringRef::operator== 2befd98da Inline some non-virtual functions in ITracker and TrackerContext 00f259aeb Move captured output into TestCaseStats when sending testCaseEnded fed143624 Avoid allocating trimmed name for SectionTracker 0477326ad Directly construct empty string for invalid SectionInfo f04c93462 Small refactoring in AssertionResult 1af351cea Remove unused TrackerContext::endRun function dcc9fa3f3 Use StringRef UDL for more string literals when expanding macros bf6a15a69 Rewrite -# docs 6135a78c3 Don't insert the foo part of [.foo] tag twice when parsing test spec e8ba329b6 Add support for iterator+sentinel pairs in Contains matcher 4aa88299a Preconstruct error message in RunContext::handleIncomplete 4ff9be3bc cmake-integration.md: Use "tests" as test target name in all examples. 76cdaa3b5 Merge pull request #2637 from jbadwaik/nvhpc_unused_warning 644294df6 Suppress declared_but_not_referenced warning for NVHPC cefa8fcf3 Enable use of UnorderedRangeEquals with iterator+sentinel pairs 772fa3f79 Add Catch::Detail::is_permutation that supports sentinels f3c0a3cd0 Fix RangeEquals matcher to handle iterator + sentinel ranges 42d9d4533 Add test for empty result of filter generator 618d44c44 Update docs about thread safe assertions 388f7e173 Cleanup unneeded allocations from reporters 2ab20a0e0 v3.3.1 60264b880 Avoid copying strings in sonarqube when sorting tests by file 65ffee518 Don't take ownership of SECTION's name for inactive sections 43f02027e Avoid allocations when looking for trackers 906552f8c Clean up extraneous copies in Messages 356dfc143 Move name and sample analysis in benchmarks into BenchmarkStats e5d1eb757 Move AssertionResultData into AssertionResult in RunContext 2403f5620 Move SectionEndInfo into sectionEnded call in SECTION's destructor d58491c85 Move sectionInfo into sectionEndInfo when SECTION ends c837cb4a8 v3.3.0 8359a6b24 Stop exceptions in generator constructors from aborting the binary adf43494e Add missing version information to matchers.md efca9a0f1 Added ElementsAre and UnorderedElementsAre (#2377) dd36f83b8 Merge pull request #2630 from ChrisThrasher/export_all_symbols baab9e8d2 Export symbols for all compilers on Windows 2d3c9713a Remove VS2015 workaround from Detail::generate 956f915e3 Document template macros are in spearate header aa8da505e Fix compatibility with previous CUDA versions e27bb7198 Fix macro-redefinition issue with MSVC+CUDA 3486f8ed9 Update generator docs b5be64204 catch_debugger.hpp: restore PPC support (#2619) d59572f46 Reword the SKIP docs a bit 16f48f8c7 Add SUCCEED and FAIL docs next to SKIP docs 367c2cb24 Update doc about what counts as unique test case d548be26e Add new SKIP macro for skipping tests at runtime (#2360) 52066dbc2 Fix build with GCC 13 (add missing <cstdint> include) cdf604f30 Update command-line.md 04382af4c Slightly better clang-format ac93f1943 Improved path normalization in approvalTests.py 72b60dfd2 Cleanup the Windows GHA builds 0c62167fe Merge pull request #2604 from ChrisThrasher/generated_includes_directory 1be954ff7 Keep generated headers within project binary directory 78bb4fda0 Mention that the benchmarks are not run by default next to example e6ec1c238 Fix benchmarking example in the main readme 477c1f515 Fixed typo in code example in top level README.md f8b9f7725 Prune Appveyor builds 77fbacb03 Add VS 2019-2022 C+14/17 jobs to GHA e3fc97dff fix compiler warning in parseUint and catch only relevant exceptions (#2572) 9c0533a90 Add MessageMatches matcher for exception (#2570) ed02710b8 Make AutoReg in test registration macros const 8b84438be Avoid usage of master when possible git-subtree-dir: externals/catch git-subtree-split: 53d0d913a422d356b23dd927547febdf69ee9081
18745 lines
610 KiB
Text
18745 lines
610 KiB
Text
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'
|
|
|
|
-------------------------------------------------------------------------------
|
|
#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 Template product test case - Foo<float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - Foo<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - std::vector<float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case - std::vector<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - Bar<float, 42>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
42 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - Bar<int, 9>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
9 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - std::array<float, 42>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
42 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A Template product test case with array signature - std::array<int, 9>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x.size() > 0 )
|
|
with expansion:
|
|
9 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
A comparison that uses literals instead of the normal constructor
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.23_a )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( -d == -1.23_a )
|
|
with expansion:
|
|
-1.23 == Approx( -1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.2_a .epsilon(.1) )
|
|
with expansion:
|
|
1.23 == Approx( 1.2 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.2_a .epsilon(.001) )
|
|
with expansion:
|
|
1.23 != Approx( 1.2 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1_a .epsilon(.3) )
|
|
with expansion:
|
|
1.23 == Approx( 1.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
A couple of nested sections followed by a failure
|
|
Outer
|
|
Inner
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
that's not flying - that's failing in style
|
|
|
|
-------------------------------------------------------------------------------
|
|
A couple of nested sections followed by a failure
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
to infinity and beyond
|
|
|
|
-------------------------------------------------------------------------------
|
|
A failing expression with a non streamable type is still captured
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
CHECK( &o1 == &o2 )
|
|
with expansion:
|
|
0x<hex digits> == 0x<hex digits>
|
|
|
|
Tricky.tests.cpp:<line number>: FAILED:
|
|
CHECK( o1 == o2 )
|
|
with expansion:
|
|
{?} == {?}
|
|
|
|
-------------------------------------------------------------------------------
|
|
Absolute margin
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 != Approx(100.0) )
|
|
with expansion:
|
|
104.0 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 == Approx(100.0).margin(5) )
|
|
with expansion:
|
|
104.0 == Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 == Approx(100.0).margin(4) )
|
|
with expansion:
|
|
104.0 == Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 104.0 != Approx(100.0).margin(3) )
|
|
with expansion:
|
|
104.0 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 100.3 != Approx(100.0) )
|
|
with expansion:
|
|
100.3 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 100.3 == Approx(100.0).margin(0.5) )
|
|
with expansion:
|
|
100.3 == Approx( 100.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
An empty test with no assertions
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'An empty test with no assertions'
|
|
|
|
-------------------------------------------------------------------------------
|
|
An expression with side-effects should only be evaluated once
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i++ == 7 )
|
|
with expansion:
|
|
7 == 7
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( i++ == 8 )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
An unchecked exception reports the line of the last assertion
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
CHECK( 1 == 1 )
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
{Unknown expression after the reported line}
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Anonymous test case 1
|
|
-------------------------------------------------------------------------------
|
|
VariadicMacros.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
VariadicMacros.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
anonymous test case
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approx setters validate their arguments
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).margin(0) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).margin(1234656) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).margin(-2), std::domain_error )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).epsilon(0) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( Approx(0).epsilon(1) )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).epsilon(-0.001), std::domain_error )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( Approx(0).epsilon(1.0001), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approx with exactly-representable margin
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.25f == Approx(0.0f).margin(0.25f) )
|
|
with expansion:
|
|
0.25f == Approx( 0.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.0f == Approx(0.25f).margin(0.25f) )
|
|
with expansion:
|
|
0.0f == Approx( 0.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 0.5f == Approx(0.25f).margin(0.25f) )
|
|
with expansion:
|
|
0.5f == Approx( 0.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 245.0f == Approx(245.25f).margin(0.25f) )
|
|
with expansion:
|
|
245.0f == Approx( 245.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
CHECK( 245.5f == Approx(245.25f).margin(0.25f) )
|
|
with expansion:
|
|
245.5f == Approx( 245.25 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate PI
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 ) )
|
|
with expansion:
|
|
3.1428571429 == Approx( 3.141 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( divide( 22, 7 ) != Approx( 3.141 ).epsilon( 0.0001 ) )
|
|
with expansion:
|
|
3.1428571429 != Approx( 3.141 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.231 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.231 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == Approx( 1.231 ).epsilon( 0.1 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.231 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with floats
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.23f == Approx( 1.23f ) )
|
|
with expansion:
|
|
1.23f == Approx( 1.2300000191 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0.0f == Approx( 0.0f ) )
|
|
with expansion:
|
|
0.0f == Approx( 0.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with ints
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1 == Approx( 1 ) )
|
|
with expansion:
|
|
1 == Approx( 1.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( 0 ) )
|
|
with expansion:
|
|
0 == Approx( 0.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Approximate comparisons with mixed numeric types
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.0f == Approx( 1 ) )
|
|
with expansion:
|
|
1.0f == Approx( 1.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( dZero) )
|
|
with expansion:
|
|
0 == Approx( 0.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 0 == Approx( dSmall ).margin( 0.001 ) )
|
|
with expansion:
|
|
0 == Approx( 0.00001 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 1.234f == Approx( dMedium ) )
|
|
with expansion:
|
|
1.234f == Approx( 1.234 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( dMedium == Approx( 1.234f ) )
|
|
with expansion:
|
|
1.234 == Approx( 1.2339999676 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Arbitrary predicate matcher
|
|
Function pointer
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, Predicate<int>( alwaysTrue, "always true" ) )
|
|
with expansion:
|
|
1 matches predicate: "always true"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1, !Predicate<int>( alwaysFalse, "always false" ) )
|
|
with expansion:
|
|
1 not matches predicate: "always false"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Arbitrary predicate matcher
|
|
Lambdas + different type
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "Hello olleH", Predicate<std::string>( []( std::string const& str ) -> bool { return str.front() == str.back(); }, "First and last character should be equal" ) )
|
|
with expansion:
|
|
"Hello olleH" matches predicate: "First and last character should be equal"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( "This wouldn't pass", !Predicate<std::string>( []( std::string const& str ) -> bool { return str.front() == str.back(); } ) )
|
|
with expansion:
|
|
"This wouldn't pass" not matches undescribed predicate
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertion macros support bit operators and bool conversions
|
|
-------------------------------------------------------------------------------
|
|
Compilation.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lhs | rhs )
|
|
with expansion:
|
|
Val: 1 | Val: 2
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lhs & rhs )
|
|
with expansion:
|
|
!(Val: 1 & Val: 2)
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( HasBitOperators{ 1 } & HasBitOperators{ 1 } )
|
|
with expansion:
|
|
Val: 1 & Val: 1
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( lhs ^ rhs )
|
|
with expansion:
|
|
Val: 1 ^ Val: 2
|
|
|
|
Compilation.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( lhs ^ lhs )
|
|
with expansion:
|
|
!(Val: 1 ^ Val: 1)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
Another section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Assertions then sections
|
|
A section
|
|
Another other section
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( tab == '\t' )
|
|
with expansion:
|
|
'\t' == '\t'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( newline == '\n' )
|
|
with expansion:
|
|
'\n' == '\n'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( carr_return == '\r' )
|
|
with expansion:
|
|
'\r' == '\r'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( form_feed == '\f' )
|
|
with expansion:
|
|
'\f' == '\f'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
General chars
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( space == ' ' )
|
|
with expansion:
|
|
' ' == ' '
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'a' == 'a'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'z' == 'z'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'A' == 'A'
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == chars[i] )
|
|
with expansion:
|
|
'Z' == 'Z'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Character pretty printing
|
|
Low ASCII
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
CHECK( null_terminator == '\0' )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
3 == 3
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( c == i )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.000001 != Approx( 100.0 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::pow(10, -5) != Approx(std::pow(10, -7)) )
|
|
with expansion:
|
|
0.00001 != Approx( 0.0000001 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Directly creating an EnumInfo
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(0) == "Value1" )
|
|
with expansion:
|
|
Value1 == "Value1"
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(1) == "Value2" )
|
|
with expansion:
|
|
Value2 == "Value2"
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK( enumInfo->lookup(3) == "{** unexpected enum value **}" )
|
|
with expansion:
|
|
{** unexpected enum value **}
|
|
==
|
|
"{** unexpected enum value **}"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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 REGISTER_ENUM
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value1 ) == "Value1" )
|
|
with expansion:
|
|
"Value1" == "Value1"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value2 ) == "Value2" )
|
|
with expansion:
|
|
"Value2" == "Value2"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value3 ) == "Value3" )
|
|
with expansion:
|
|
"Value3" == "Value3"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( EnumClass3::Value4 ) == "{** unexpected enum value **}" )
|
|
with expansion:
|
|
"{** unexpected enum value **}"
|
|
==
|
|
"{** unexpected enum value **}"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( ec3 ) == "Value2" )
|
|
with expansion:
|
|
"Value2" == "Value2"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Enums in namespaces can quickly have stringification enabled using
|
|
REGISTER_ENUM
|
|
-------------------------------------------------------------------------------
|
|
EnumToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( Bikeshed::Colours::Red ) == "Red" )
|
|
with expansion:
|
|
"Red" == "Red"
|
|
|
|
EnumToString.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( stringify( Bikeshed::Colours::Blue ) == "Blue" )
|
|
with expansion:
|
|
"Blue" == "Blue"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Epsilon only applies to Approx's value
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( 101.01 != Approx(100).epsilon(0.01) )
|
|
with expansion:
|
|
101.01 != Approx( 100.0 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equality checks that should fail
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 6 )
|
|
with expansion:
|
|
7 == 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 8 )
|
|
with expansion:
|
|
7 == 8
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.int_seven == 0 )
|
|
with expansion:
|
|
7 == 0
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 9.11f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.1099996567 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 9.0f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 1 ) )
|
|
with expansion:
|
|
9.1f == Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one == Approx( 0 ) )
|
|
with expansion:
|
|
9.1f == Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi == Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.1415926535 == Approx( 3.1415 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "goodbye" )
|
|
with expansion:
|
|
"hello" == "goodbye"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "hell" )
|
|
with expansion:
|
|
"hello" == "hell"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello == "hello1" )
|
|
with expansion:
|
|
"hello" == "hello1"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello.size() == 6 )
|
|
with expansion:
|
|
5 == 6
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( x == Approx( 1.301 ) )
|
|
with expansion:
|
|
1.3 == Approx( 1.301 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equality checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven == 7 )
|
|
with expansion:
|
|
7 == 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one == Approx( 9.1f ) )
|
|
with expansion:
|
|
9.1f == Approx( 9.1000003815 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi == Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.1415926535 == Approx( 3.1415926535 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello == "hello" )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( "hello" == data.str_hello )
|
|
with expansion:
|
|
"hello" == "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( x == Approx( 1.3 ) )
|
|
with expansion:
|
|
1.3 == Approx( 1.3 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Equals( "this string contains 'abc' as a substring" ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'abc' as a substring"
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), Equals( "this string contains 'ABC' as a substring", Catch::CaseSensitive::No ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'abc' as a substring" (case insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Equals string matcher
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Equals( "this string contains 'ABC' as a substring" ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "this string contains
|
|
'ABC' as a substring"
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( testStringForMatching(), Equals( "something else", Catch::CaseSensitive::No ) )
|
|
with expansion:
|
|
"this string contains 'abc' as a substring" equals: "something else" (case
|
|
insensitive)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception as a value (e.g. in REQUIRE_THROWS_MATCHES) can be stringified
|
|
-------------------------------------------------------------------------------
|
|
ToStringGeneral.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(WhatException{}) == "This exception has overridden what() method" )
|
|
with expansion:
|
|
"This exception has overridden what() method"
|
|
==
|
|
"This exception has overridden what() method"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(OperatorException{}) == "OperatorException" )
|
|
with expansion:
|
|
"OperatorException" == "OperatorException"
|
|
|
|
ToStringGeneral.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify(StringMakerException{}) == "StringMakerException" )
|
|
with expansion:
|
|
"StringMakerException"
|
|
==
|
|
"StringMakerException"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
No exception
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( doesNotThrow(), SpecialException, ExceptionMatcher{ 1 } )
|
|
because no exception was thrown where one was expected:
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( doesNotThrow(), SpecialException, ExceptionMatcher{ 1 } )
|
|
because no exception was thrown where one was expected:
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
Type mismatch
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( throwsAsInt( 1 ), SpecialException, ExceptionMatcher{ 1 } )
|
|
due to unexpected exception with message:
|
|
Unknown exception
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( throwsAsInt( 1 ), SpecialException, ExceptionMatcher{ 1 } )
|
|
due to unexpected exception with message:
|
|
Unknown exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that fail
|
|
Contents are wrong
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THROWS_MATCHES( throwsSpecialException( 3 ), SpecialException, ExceptionMatcher{ 1 } )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException( 4 ), SpecialException, ExceptionMatcher{ 1 } )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception matchers that succeed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THROWS_MATCHES( throwsSpecialException( 1 ), SpecialException, ExceptionMatcher{ 1 } )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 1
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_MATCHES( throwsSpecialException( 2 ), SpecialException, ExceptionMatcher{ 2 } )
|
|
with expansion:
|
|
SpecialException::what special exception has value of 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Exception 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.1 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10., !WithinRel( 11.2, 0.1 ) )
|
|
with expansion:
|
|
10.0 not and 11.2 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !WithinRel( 0., 0.99 ) )
|
|
with expansion:
|
|
1.0 not and 0 are within 99% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0., WithinRel( 0. ) )
|
|
with expansion:
|
|
-0.0 and 0 are within 2.22045e-12% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Relative
|
|
Some subnormal values
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, WithinRel( v2 ) )
|
|
with expansion:
|
|
0.0 and 2.22507e-308 are within 2.22045e-12% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Margin
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs( 1., 0 ) )
|
|
with expansion:
|
|
1.0 is within 0.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., WithinAbs( 1., 1 ) )
|
|
with expansion:
|
|
0.0 is within 1.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., !WithinAbs( 1., 0.99 ) )
|
|
with expansion:
|
|
0.0 not is within 0.99 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., !WithinAbs( 1., 0.99 ) )
|
|
with expansion:
|
|
0.0 not is within 0.99 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 11., !WithinAbs( 10., 0.5 ) )
|
|
with expansion:
|
|
11.0 not is within 0.5 of 10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10., !WithinAbs( 11., 0.5 ) )
|
|
with expansion:
|
|
10.0 not is within 0.5 of 11.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10., WithinAbs( -10., 0.5 ) )
|
|
with expansion:
|
|
-10.0 is within 0.5 of -10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10., WithinAbs( -9.6, 0.5 ) )
|
|
with expansion:
|
|
-10.0 is within 0.5 of -9.6
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
ULPs
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP( 1., 0 ) )
|
|
with expansion:
|
|
1.0 is within 0 ULPs of 1.0000000000000000e+00 ([1.0000000000000000e+00, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( nextafter( 1., 2. ), WithinULP( 1., 1 ) )
|
|
with expansion:
|
|
1.0 is within 1 ULPs of 1.0000000000000000e+00 ([9.9999999999999989e-01, 1.
|
|
0000000000000002e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0., WithinULP( nextafter( 0., 1. ), 1 ) )
|
|
with expansion:
|
|
0.0 is within 1 ULPs of 4.9406564584124654e-324 ([0.0000000000000000e+00, 9.
|
|
8813129168249309e-324])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP( nextafter( 1., 0. ), 1 ) )
|
|
with expansion:
|
|
1.0 is within 1 ULPs of 9.9999999999999989e-01 ([9.9999999999999978e-01, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., !WithinULP( nextafter( 1., 2. ), 0 ) )
|
|
with expansion:
|
|
1.0 not is within 0 ULPs of 1.0000000000000002e+00 ([1.0000000000000002e+00,
|
|
1.0000000000000002e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinULP( 1., 0 ) )
|
|
with expansion:
|
|
1.0 is within 0 ULPs of 1.0000000000000000e+00 ([1.0000000000000000e+00, 1.
|
|
0000000000000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0., WithinULP( 0., 0 ) )
|
|
with expansion:
|
|
-0.0 is within 0 ULPs of 0.0000000000000000e+00 ([0.0000000000000000e+00, 0.
|
|
0000000000000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs( 1., 0.5 ) || WithinULP( 2., 1 ) )
|
|
with expansion:
|
|
1.0 ( is within 0.5 of 1.0 or is within 1 ULPs of 2.0000000000000000e+00 ([1.
|
|
9999999999999998e+00, 2.0000000000000004e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1., WithinAbs( 2., 0.5 ) || WithinULP( 1., 0 ) )
|
|
with expansion:
|
|
1.0 ( is within 0.5 of 2.0 or is within 0 ULPs of 1.0000000000000000e+00 ([1.
|
|
0000000000000000e+00, 1.0000000000000000e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.0001, WithinAbs( 0., 0.001 ) || WithinRel( 0., 0.1 ) )
|
|
with expansion:
|
|
0.0001 ( is within 0.001 of 0.0 or and 0 are within 10% of each other )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: double
|
|
Constructor validation
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinAbs( 1., 0. ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinAbs( 1., -1. ), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinULP( 1., 0 ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinRel( 1., 0. ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel( 1., -0.2 ), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel( 1., 1. ), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: 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.1 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10.f, !WithinRel( 11.2f, 0.1f ) )
|
|
with expansion:
|
|
10.0f not and 11.2 are within 10% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, !WithinRel( 0.f, 0.99f ) )
|
|
with expansion:
|
|
1.0f not and 0 are within 99% of each other
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0.f, WithinRel( 0.f ) )
|
|
with expansion:
|
|
-0.0f and 0 are within 0.00119209% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Relative
|
|
Some subnormal values
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, WithinRel( v2 ) )
|
|
with expansion:
|
|
0.0f and 1.17549e-38 are within 0.00119209% of each other
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Margin
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs( 1.f, 0 ) )
|
|
with expansion:
|
|
1.0f is within 0.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinAbs( 1.f, 1 ) )
|
|
with expansion:
|
|
0.0f is within 1.0 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, !WithinAbs( 1.f, 0.99f ) )
|
|
with expansion:
|
|
0.0f not is within 0.9900000095 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, !WithinAbs( 1.f, 0.99f ) )
|
|
with expansion:
|
|
0.0f not is within 0.9900000095 of 1.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinAbs( -0.f, 0 ) )
|
|
with expansion:
|
|
0.0f is within 0.0 of -0.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 11.f, !WithinAbs( 10.f, 0.5f ) )
|
|
with expansion:
|
|
11.0f not is within 0.5 of 10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 10.f, !WithinAbs( 11.f, 0.5f ) )
|
|
with expansion:
|
|
10.0f not is within 0.5 of 11.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10.f, WithinAbs( -10.f, 0.5f ) )
|
|
with expansion:
|
|
-10.0f is within 0.5 of -10.0
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -10.f, WithinAbs( -9.6f, 0.5f ) )
|
|
with expansion:
|
|
-10.0f is within 0.5 of -9.6000003815
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
ULPs
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP( 1.f, 0 ) )
|
|
with expansion:
|
|
1.0f is within 0 ULPs of 1.00000000e+00f ([1.00000000e+00, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -1.f, WithinULP( -1.f, 0 ) )
|
|
with expansion:
|
|
-1.0f is within 0 ULPs of -1.00000000e+00f ([-1.00000000e+00, -1.00000000e+
|
|
00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( nextafter( 1.f, 2.f ), WithinULP( 1.f, 1 ) )
|
|
with expansion:
|
|
1.0f is within 1 ULPs of 1.00000000e+00f ([9.99999940e-01, 1.00000012e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.f, WithinULP( nextafter( 0.f, 1.f ), 1 ) )
|
|
with expansion:
|
|
0.0f is within 1 ULPs of 1.40129846e-45f ([0.00000000e+00, 2.80259693e-45])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP( nextafter( 1.f, 0.f ), 1 ) )
|
|
with expansion:
|
|
1.0f is within 1 ULPs of 9.99999940e-01f ([9.99999881e-01, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, !WithinULP( nextafter( 1.f, 2.f ), 0 ) )
|
|
with expansion:
|
|
1.0f not is within 0 ULPs of 1.00000012e+00f ([1.00000012e+00, 1.00000012e+
|
|
00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinULP( 1.f, 0 ) )
|
|
with expansion:
|
|
1.0f is within 0 ULPs of 1.00000000e+00f ([1.00000000e+00, 1.00000000e+00])
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( -0.f, WithinULP( 0.f, 0 ) )
|
|
with expansion:
|
|
-0.0f is within 0 ULPs of 0.00000000e+00f ([0.00000000e+00, 0.00000000e+00])
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs( 1.f, 0.5 ) || WithinULP( 1.f, 1 ) )
|
|
with expansion:
|
|
1.0f ( is within 0.5 of 1.0 or is within 1 ULPs of 1.00000000e+00f ([9.
|
|
99999940e-01, 1.00000012e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 1.f, WithinAbs( 2.f, 0.5 ) || WithinULP( 1.f, 0 ) )
|
|
with expansion:
|
|
1.0f ( is within 0.5 of 2.0 or is within 0 ULPs of 1.00000000e+00f ([1.
|
|
00000000e+00, 1.00000000e+00]) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( 0.0001f, WithinAbs( 0.f, 0.001f ) || WithinRel( 0.f, 0.1f ) )
|
|
with expansion:
|
|
0.0001f ( is within 0.001 of 0.0 or and 0 are within 10% of each other )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Floating point matchers: float
|
|
Constructor validation
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinAbs( 1.f, 0.f ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinAbs( 1.f, -1.f ), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinULP( 1.f, 0 ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinULP( 1.f, static_cast<uint64_t>( -1 ) ), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( WithinRel( 1.f, 0.f ) )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel( 1.f, -0.2f ), std::domain_error )
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( WithinRel( 1.f, 1.f ), std::domain_error )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.9 == Approx( -0.9 )
|
|
with message:
|
|
Current expected value is -0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.8 == Approx( -0.8 )
|
|
with message:
|
|
Current expected value is -0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.6 == Approx( -0.6 )
|
|
with message:
|
|
Current expected value is -0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.5 == Approx( -0.5 )
|
|
with message:
|
|
Current expected value is -0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.3 == Approx( -0.3 )
|
|
with message:
|
|
Current expected value is -0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.2 == Approx( -0.2 )
|
|
with message:
|
|
Current expected value is -0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.0 == Approx( -0.0 )
|
|
with message:
|
|
Current expected value is -1.38778e-16
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1.38778e-16
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.1 == Approx( 0.1 )
|
|
with message:
|
|
Current expected value is 0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.3 == Approx( 0.3 )
|
|
with message:
|
|
Current expected value is 0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.3
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.4 == Approx( 0.4 )
|
|
with message:
|
|
Current expected value is 0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.6 == Approx( 0.6 )
|
|
with message:
|
|
Current expected value is 0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.6
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.7 == Approx( 0.7 )
|
|
with message:
|
|
Current expected value is 0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.8 == Approx( 0.8 )
|
|
with message:
|
|
Current expected value is 0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.8
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.9 == Approx( 0.9 )
|
|
with message:
|
|
Current expected value is 0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.9
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx( rangeEnd ) )
|
|
with expansion:
|
|
1.0 == Approx( 1.0 )
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Floating Point
|
|
Slightly over end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-1.0 == Approx( -1.0 )
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Positive manual step
|
|
Floating Point
|
|
Slightly under end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-1.0 == Approx( -1.0 )
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.7 == Approx( -0.7 )
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.4 == Approx( -0.4 )
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
-0.1 == Approx( -0.1 )
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is -0.1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.2 == Approx( 0.2 )
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == Approx(expected) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
with message:
|
|
Current expected value is 0.5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Exact
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Slightly over end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Generators internals
|
|
Range
|
|
Negative manual step
|
|
Integer
|
|
Slightly under end
|
|
-------------------------------------------------------------------------------
|
|
GeneratorsImpl.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == 2 )
|
|
with expansion:
|
|
2 == 2
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -1 )
|
|
with expansion:
|
|
-1 == -1
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -4 )
|
|
with expansion:
|
|
-4 == -4
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.next() )
|
|
with expansion:
|
|
true
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( gen.get() == -7 )
|
|
with expansion:
|
|
-7 == -7
|
|
|
|
GeneratorsImpl.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( gen.next() )
|
|
with expansion:
|
|
!false
|
|
|
|
-------------------------------------------------------------------------------
|
|
Greater-than inequalities with different epsilons
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d >= Approx( 1.24 ) )
|
|
with expansion:
|
|
!(1.23 >= Approx( 1.24 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d >= Approx( 1.24 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.23 >= Approx( 1.24 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.1f != Approx( 9.1000003815 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.double_pi != Approx( 3.1415926535 ) )
|
|
with expansion:
|
|
3.1415926535 != Approx( 3.1415926535 )
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello != "hello" )
|
|
with expansion:
|
|
"hello" != "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello.size() != 5 )
|
|
with expansion:
|
|
5 != 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
Inequality checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven != 6 )
|
|
with expansion:
|
|
7 != 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven != 8 )
|
|
with expansion:
|
|
7 != 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 9.11f ) )
|
|
with expansion:
|
|
9.1f != Approx( 9.1099996567 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 9.0f ) )
|
|
with expansion:
|
|
9.1f != Approx( 9.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 1 ) )
|
|
with expansion:
|
|
9.1f != Approx( 1.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one != Approx( 0 ) )
|
|
with expansion:
|
|
9.1f != Approx( 0.0 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.double_pi != Approx( 3.1415 ) )
|
|
with expansion:
|
|
3.1415926535 != Approx( 3.1415 )
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "goodbye" )
|
|
with expansion:
|
|
"hello" != "goodbye"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "hell" )
|
|
with expansion:
|
|
"hello" != "hell"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello != "hello1" )
|
|
with expansion:
|
|
"hello" != "hello1"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello.size() != 6 )
|
|
with expansion:
|
|
5 != 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.23 <= Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 <= Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_FALSE( d <= Approx( 1.22 ) )
|
|
with expansion:
|
|
!(1.23 <= Approx( 1.22 ))
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d <= Approx( 1.22 ).epsilon(0.1) )
|
|
with expansion:
|
|
1.23 <= Approx( 1.22 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
ManuallyRegistered
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
was called
|
|
|
|
-------------------------------------------------------------------------------
|
|
Matchers can be (AllOf) composed with the && operator
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( testStringForMatching(), 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.1f < 9
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 10 )
|
|
with expansion:
|
|
9.1f > 10
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.float_nine_point_one > 9.2 )
|
|
with expansion:
|
|
9.1f > 9.2
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "hello" )
|
|
with expansion:
|
|
"hello" > "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "hello" )
|
|
with expansion:
|
|
"hello" < "hello"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "hellp" )
|
|
with expansion:
|
|
"hello" > "hellp"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello > "z" )
|
|
with expansion:
|
|
"hello" > "z"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "hellm" )
|
|
with expansion:
|
|
"hello" < "hellm"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello < "a" )
|
|
with expansion:
|
|
"hello" < "a"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello >= "z" )
|
|
with expansion:
|
|
"hello" >= "z"
|
|
|
|
Condition.tests.cpp:<line number>: FAILED:
|
|
CHECK( data.str_hello <= "a" )
|
|
with expansion:
|
|
"hello" <= "a"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Ordering comparison checks that should succeed
|
|
-------------------------------------------------------------------------------
|
|
Condition.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven < 8 )
|
|
with expansion:
|
|
7 < 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > 6 )
|
|
with expansion:
|
|
7 > 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > 0 )
|
|
with expansion:
|
|
7 > 0
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven > -1 )
|
|
with expansion:
|
|
7 > -1
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven >= 7 )
|
|
with expansion:
|
|
7 >= 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven >= 6 )
|
|
with expansion:
|
|
7 >= 6
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven <= 7 )
|
|
with expansion:
|
|
7 <= 7
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.int_seven <= 8 )
|
|
with expansion:
|
|
7 <= 8
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one > 9 )
|
|
with expansion:
|
|
9.1f > 9
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 10 )
|
|
with expansion:
|
|
9.1f < 10
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.float_nine_point_one < 9.2 )
|
|
with expansion:
|
|
9.1f < 9.2
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello <= "hello" )
|
|
with expansion:
|
|
"hello" <= "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello >= "hello" )
|
|
with expansion:
|
|
"hello" >= "hello"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello < "hellp" )
|
|
with expansion:
|
|
"hello" < "hellp"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello < "zebra" )
|
|
with expansion:
|
|
"hello" < "zebra"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello > "hellm" )
|
|
with expansion:
|
|
"hello" > "hellm"
|
|
|
|
Condition.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( data.str_hello > "a" )
|
|
with expansion:
|
|
"hello" > "a"
|
|
|
|
-------------------------------------------------------------------------------
|
|
Our PCG implementation provides expected results for known seeds
|
|
Default seeded
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4242248763 (0x<hex digits>)
|
|
==
|
|
4242248763 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1867888929 (0x<hex digits>)
|
|
==
|
|
1867888929 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1276619030 (0x<hex digits>)
|
|
==
|
|
1276619030 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1911218783 (0x<hex digits>)
|
|
==
|
|
1911218783 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1827115164 (0x<hex digits>)
|
|
==
|
|
1827115164 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Our PCG implementation provides expected results for known seeds
|
|
Specific seed
|
|
-------------------------------------------------------------------------------
|
|
RandomNumberGeneration.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1472234645 (0x<hex digits>)
|
|
==
|
|
1472234645 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
868832940 (0x<hex digits>)
|
|
==
|
|
868832940 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
570883446 (0x<hex digits>)
|
|
==
|
|
570883446 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
889299803 (0x<hex digits>)
|
|
==
|
|
889299803 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4261393167 (0x<hex digits>)
|
|
==
|
|
4261393167 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
1472234645 (0x<hex digits>)
|
|
==
|
|
1472234645 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
868832940 (0x<hex digits>)
|
|
==
|
|
868832940 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
570883446 (0x<hex digits>)
|
|
==
|
|
570883446 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
889299803 (0x<hex digits>)
|
|
==
|
|
889299803 (0x<hex digits>)
|
|
|
|
RandomNumberGeneration.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( rng() == 0x<hex digits> )
|
|
with expansion:
|
|
4261393167 (0x<hex digits>)
|
|
==
|
|
4261393167 (0x<hex digits>)
|
|
|
|
-------------------------------------------------------------------------------
|
|
Output from all sections is reported
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
Message from section one
|
|
|
|
-------------------------------------------------------------------------------
|
|
Output from all sections is reported
|
|
two
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
explicitly with message:
|
|
Message from section two
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.99 == Approx( 0.99 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
no-analysis
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-no-analysis" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkNoAnalysis )
|
|
with expansion:
|
|
true
|
|
|
|
-------------------------------------------------------------------------------
|
|
Process can be configured on command line
|
|
Benchmark options
|
|
warmup-time
|
|
-------------------------------------------------------------------------------
|
|
CmdLine.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
CHECK( cli.parse({ "test", "--benchmark-warmup-time=10" }) )
|
|
with expansion:
|
|
{?}
|
|
|
|
CmdLine.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( config.benchmarkWarmupTime == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int, double, float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
3 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int, double>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
2 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Product with differing arities - std::tuple<int>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( std::tuple_size<TestType>::value >= 1 )
|
|
with expansion:
|
|
1 >= 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
Sends stuff to stdout and stderr
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'Sends stuff to stdout and stderr'
|
|
|
|
-------------------------------------------------------------------------------
|
|
Some simple comparisons between doubles
|
|
-------------------------------------------------------------------------------
|
|
Approx.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == Approx( 1.23 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != Approx( 1.24 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == 1.23_a )
|
|
with expansion:
|
|
1.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != 1.22_a )
|
|
with expansion:
|
|
1.23 != Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.23
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.22 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.22
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( Approx( d ) != 1.24 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.24
|
|
|
|
-------------------------------------------------------------------------------
|
|
Standard output from all sections is reported
|
|
one
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'one'
|
|
|
|
-------------------------------------------------------------------------------
|
|
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( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-copyable and non-
|
|
movable std::tuple - NonCopyableAndNonMovableTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-default-constructible
|
|
std::tuple - MyNonDefaultConstructibleTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside non-default-constructible
|
|
std::tuple - MyNonDefaultConstructibleTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 0
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 1
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
1 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
Template test case with test types specified inside std::tuple - MyTypes - 2
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( sizeof(TestType) > 0 )
|
|
with expansion:
|
|
4 > 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - float
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - int
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::string
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 10 )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 10 )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTest: vectors can be sized and resized - std::tuple<int,float>
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 5 )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 5 )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
12 == 12
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
12 >= 12
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
12 >= 12
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
6 == 6
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
6 >= 6
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
8 == 8
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
8 >= 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
8 >= 8
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - float,4
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
4 == 4
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
4 >= 4
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
10 == 10
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
10 >= 10
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - int,5
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
5 == 5
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
5 >= 5
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing bigger changes size and capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 2 * V )
|
|
with expansion:
|
|
30 == 30
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
30 >= 30
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing smaller changes size but not capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
resizing smaller changes size but not capacity
|
|
We can use the 'swap trick' to reset the capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
reserving bigger changes capacity but not size
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= 2 * V )
|
|
with expansion:
|
|
30 >= 30
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
TemplateTestSig: vectors can be sized and resized - std::string,15
|
|
reserving smaller does not change size or capacity
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.size() == V )
|
|
with expansion:
|
|
15 == 15
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( v.capacity() >= V )
|
|
with expansion:
|
|
15 >= 15
|
|
|
|
-------------------------------------------------------------------------------
|
|
Test case with 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.14
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
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 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.23 == Approx( 1.23 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.22 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.22 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d == approx( 1.24 ) )
|
|
with expansion:
|
|
1.23 == Approx( 1.24 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( d != approx( 1.25 ) )
|
|
with expansion:
|
|
1.23 != Approx( 1.25 )
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.23 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.23
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.22 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.22
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) == 1.24 )
|
|
with expansion:
|
|
Approx( 1.23 ) == 1.24
|
|
|
|
Approx.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( approx( d ) != 1.25 )
|
|
with expansion:
|
|
Approx( 1.23 ) != 1.25
|
|
|
|
-------------------------------------------------------------------------------
|
|
Variadic macros
|
|
Section with one argument
|
|
-------------------------------------------------------------------------------
|
|
VariadicMacros.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
VariadicMacros.tests.cpp:<line number>: PASSED:
|
|
with message:
|
|
no assertions
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Empty vector is roughly equal to an empty vector
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( empty, Approx( empty ) )
|
|
with expansion:
|
|
{ } is approx: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
A vector is approx equal to itself
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx( v1 ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.0, 2.0, 3.0 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx<double>( { 1., 2., 3. } ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.0, 2.0, 3.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
Different length
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, !Approx( temp ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } not is approx: { 1.0, 2.0, 3.0, 4.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher
|
|
Vectors with elements
|
|
Same length, different elements
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, !Approx( v2 ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } not is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx( v2 ).margin( 0.5 ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx( v2 ).epsilon( 0.5 ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( v1, Approx( v2 ).epsilon( 0.1 ).scale( 500 ) )
|
|
with expansion:
|
|
{ 1.0, 2.0, 3.0 } is approx: { 1.5, 2.5, 3.5 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher -- failing
|
|
Empty and non empty vectors are not approx equal
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Approx( t1 ) )
|
|
with expansion:
|
|
{ } is approx: { 1.0, 2.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector Approx matcher -- failing
|
|
Just different vectors
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v1, Approx( v2 ) )
|
|
with expansion:
|
|
{ 2.0, 4.0, 6.0 } is approx: { 1.0, 3.0, 5.0 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (element)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains( 1 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 1
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains( 2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 2
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, ( VectorContains<int, CustomAllocator<int>>( 2 ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (vector)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains( v2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains<int>( { 1, 2 } ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, ( Contains<int, std::allocator<int>, CustomAllocator<int>>( v2 ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains( v2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Contains( empty ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, Contains( empty ) )
|
|
with expansion:
|
|
{ } Contains: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, ( Contains<int, std::allocator<int>, CustomAllocator<int>>( v2 ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, Contains( v6 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Contains (element), composed
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, VectorContains( 1 ) && VectorContains( 2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } ( Contains: 1 and Contains: 2 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals( v ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, Equals( empty ) )
|
|
with expansion:
|
|
{ } Equals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals<int>( { 1, 2, 3 } ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, Equals( v2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, ( Equals<int, std::allocator<int>, CustomAllocator<int>>( v2 ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, Equals( v6 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers
|
|
UnorderedEquals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v, UnorderedEquals<int>( { 3, 2, 1 } ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 3, 2, 1 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( empty, UnorderedEquals( empty ) )
|
|
with expansion:
|
|
{ } UnorderedEquals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( permuted, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ 1, 3, 2 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THAT( permuted, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ 2, 3, 1 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5, ( UnorderedEquals<int, std::allocator<int>, CustomAllocator<int>>( permuted ) ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { 2, 3, 1 }
|
|
|
|
Matchers.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( v5_permuted, UnorderedEquals( v5 ) )
|
|
with expansion:
|
|
{ 1, 3, 2 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Contains (element)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, VectorContains( -1 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: -1
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, VectorContains( 1 ) )
|
|
with expansion:
|
|
{ } Contains: 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Contains (vector)
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Contains( v ) )
|
|
with expansion:
|
|
{ } Contains: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Contains( v2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Contains: { 1, 2, 4 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
Equals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Equals( v2 ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { 1, 2 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v2, Equals( v ) )
|
|
with expansion:
|
|
{ 1, 2 } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, Equals( v ) )
|
|
with expansion:
|
|
{ } Equals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, Equals( empty ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } Equals: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
Vector matchers that fail
|
|
UnorderedEquals
|
|
-------------------------------------------------------------------------------
|
|
Matchers.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( v, UnorderedEquals( empty ) )
|
|
with expansion:
|
|
{ 1, 2, 3 } UnorderedEquals: { }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( empty, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( permuted, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ 1, 3 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
Matchers.tests.cpp:<line number>: FAILED:
|
|
CHECK_THAT( permuted, UnorderedEquals( v ) )
|
|
with expansion:
|
|
{ 3, 1 } UnorderedEquals: { 1, 2, 3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
When checked exceptions are thrown they can be expected or unexpected
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS_AS( thisThrows(), std::domain_error )
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_NOTHROW( thisDoesntThrow() )
|
|
|
|
Exception.tests.cpp:<line number>: PASSED:
|
|
REQUIRE_THROWS( thisThrows() )
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown directly they are always failures
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown during a CHECK the test should continue
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown during a REQUIRE the test should abort
|
|
fail
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown from functions they are always failures
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
CHECK( thisThrows() == 0 )
|
|
due to unexpected exception with message:
|
|
expected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown from sections they are always failures
|
|
section name
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Exception.tests.cpp:<line number>: FAILED:
|
|
due to unexpected exception with message:
|
|
unexpected exception
|
|
|
|
-------------------------------------------------------------------------------
|
|
When unchecked exceptions are thrown, but caught, they do not affect the test
|
|
-------------------------------------------------------------------------------
|
|
Exception.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in test case 'When unchecked exceptions are thrown, but caught, they do not affect the test'
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.0920368762 == Approx( -0.0920368762 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( erfc_inv(1.067400) == Approx(-0.05980291115763361) )
|
|
with expansion:
|
|
-0.0598029112 == Approx( -0.0598029112 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( erfc_inv(0.050000) == Approx(1.38590382434967796) )
|
|
with expansion:
|
|
1.3859038243 == Approx( 1.3859038243 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
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'
|
|
|
|
-------------------------------------------------------------------------------
|
|
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
|
|
|
|
-------------------------------------------------------------------------------
|
|
nested sections can be skipped dynamically at runtime
|
|
A
|
|
-------------------------------------------------------------------------------
|
|
Skip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
|
|
No assertions in section 'A'
|
|
|
|
-------------------------------------------------------------------------------
|
|
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_cdf
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_cdf(0.000000) == Approx(0.50000000000000000) )
|
|
with expansion:
|
|
0.5 == Approx( 0.5 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_cdf(1.000000) == Approx(0.84134474606854293) )
|
|
with expansion:
|
|
0.8413447461 == Approx( 0.8413447461 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_cdf(-1.000000) == Approx(0.15865525393145705) )
|
|
with expansion:
|
|
0.1586552539 == Approx( 0.1586552539 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_cdf(2.809729) == Approx(0.99752083845315409) )
|
|
with expansion:
|
|
0.9975208385 == Approx( 0.9975208385 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_cdf(-1.352570) == Approx(0.08809652095066035) )
|
|
with expansion:
|
|
0.088096521 == Approx( 0.088096521 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
normal_quantile
|
|
-------------------------------------------------------------------------------
|
|
InternalBenchmark.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.551780) == Approx(0.13015979861484198) )
|
|
with expansion:
|
|
0.1301597986 == Approx( 0.1301597986 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.533700) == Approx(0.08457408802851875) )
|
|
with expansion:
|
|
0.084574088 == Approx( 0.084574088 )
|
|
|
|
InternalBenchmark.tests.cpp:<line number>: PASSED:
|
|
CHECK( normal_quantile(0.025000) == Approx(-1.95996398454005449) )
|
|
with expansion:
|
|
-1.9599639845 == Approx( -1.9599639845 )
|
|
|
|
-------------------------------------------------------------------------------
|
|
not allowed
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
|
|
-------------------------------------------------------------------------------
|
|
not prints unscoped info from previous failures
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen only for the FIRST assertion IF info is printed for passing
|
|
assertions
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen only for the SECOND assertion IF info is printed for passing
|
|
assertions
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with message:
|
|
this SHOULD be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
null strings
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( makeString( false ) != static_cast<char*>(0) )
|
|
with expansion:
|
|
"valid string" != {null string}
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( makeString( true ) == static_cast<char*>(0) )
|
|
with expansion:
|
|
{null string} == {null string}
|
|
|
|
-------------------------------------------------------------------------------
|
|
null_ptr
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ptr.get() == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
pair<pair<int,const char *,pair<std::string,int> > -> toString
|
|
-------------------------------------------------------------------------------
|
|
ToStringPair.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringPair.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( ::Catch::Detail::stringify( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }" )
|
|
with expansion:
|
|
"{ { 42, "Arthur" }, { "Ford", 24 } }"
|
|
==
|
|
"{ { 42, "Arthur" }, { "Ford", 24 } }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
No enums
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "" ), Equals( std::vector<Catch::StringRef>{} ) )
|
|
with expansion:
|
|
{ } Equals: { }
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
One enum value
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1" ), Equals(std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "Value1" ), Equals( std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "EnumName::Value1" ), Equals(std::vector<Catch::StringRef>{"Value1"} ) )
|
|
with expansion:
|
|
{ Value1 } Equals: { Value1 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
parseEnums
|
|
Multiple enum values
|
|
-------------------------------------------------------------------------------
|
|
ToString.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2"} ) )
|
|
with expansion:
|
|
{ Value1, Value2 } Equals: { Value1, Value2 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1, ClassName::EnumName::Value2, ClassName::EnumName::Value3" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2", "Value3"} ) )
|
|
with expansion:
|
|
{ Value1, Value2, Value3 } Equals: { Value1, Value2, Value3 }
|
|
|
|
ToString.tests.cpp:<line number>: PASSED:
|
|
CHECK_THAT( parseEnums( "ClassName::EnumName::Value1,ClassName::EnumName::Value2 , ClassName::EnumName::Value3" ), Equals( std::vector<Catch::StringRef>{"Value1", "Value2", "Value3"} ) )
|
|
with expansion:
|
|
{ Value1, Value2, Value3 } Equals: { Value1, Value2, Value3 }
|
|
|
|
-------------------------------------------------------------------------------
|
|
pointer to class
|
|
-------------------------------------------------------------------------------
|
|
Tricky.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Tricky.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( p == 0 )
|
|
with expansion:
|
|
0 == 0
|
|
|
|
-------------------------------------------------------------------------------
|
|
print unscoped info if passing unscoped info is printed
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( true )
|
|
with message:
|
|
this MAY be seen IF info is printed for passing assertions
|
|
|
|
-------------------------------------------------------------------------------
|
|
prints unscoped info on failure
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
REQUIRE( false )
|
|
with messages:
|
|
this SHOULD be seen
|
|
this SHOULD also be seen
|
|
|
|
-------------------------------------------------------------------------------
|
|
prints unscoped info only for the first assertion
|
|
-------------------------------------------------------------------------------
|
|
Message.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Message.tests.cpp:<line number>: FAILED:
|
|
CHECK( false )
|
|
with message:
|
|
this SHOULD be seen only ONCE
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
with message:
|
|
this MAY also be seen only ONCE IF info is printed for passing assertions
|
|
|
|
Message.tests.cpp:<line number>: PASSED:
|
|
CHECK( true )
|
|
|
|
-------------------------------------------------------------------------------
|
|
random SECTION tests
|
|
doesn't equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( b != a )
|
|
with expansion:
|
|
2 != 1
|
|
|
|
-------------------------------------------------------------------------------
|
|
random SECTION tests
|
|
not equal
|
|
-------------------------------------------------------------------------------
|
|
Misc.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
Misc.tests.cpp:<line number>: PASSED:
|
|
REQUIRE( a != b )
|
|
with expansion:
|
|
1 != 2
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace single char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "b", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "azcdefcg" )
|
|
with expansion:
|
|
"azcdefcg" == "azcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace two chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "c", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "abzdefzg" )
|
|
with expansion:
|
|
"abzdefzg" == "abzdefzg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace first char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "a", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "zbcdefcg" )
|
|
with expansion:
|
|
"zbcdefcg" == "zbcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace last char
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, "g", "z") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "abcdefcz" )
|
|
with expansion:
|
|
"abcdefcz" == "abcdefcz"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace all chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(letters, letters, "replaced") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == "replaced" )
|
|
with expansion:
|
|
"replaced" == "replaced"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
replace no chars
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK_FALSE( Catch::replaceInPlace(letters, "x", "z") )
|
|
with expansion:
|
|
!false
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( letters == letters )
|
|
with expansion:
|
|
"abcdefcg" == "abcdefcg"
|
|
|
|
-------------------------------------------------------------------------------
|
|
replaceInPlace
|
|
escape '
|
|
-------------------------------------------------------------------------------
|
|
StringManip.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( Catch::replaceInPlace(s, "'", "|'") )
|
|
with expansion:
|
|
true
|
|
|
|
StringManip.tests.cpp:<line number>: PASSED:
|
|
CHECK( s == "didn|'t" )
|
|
with expansion:
|
|
"didn|'t" == "didn|'t"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.2f" == ::Catch::Detail::stringify(float(1.2)) )
|
|
with expansion:
|
|
"1.2f" == "1.2f"
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 1.2f, 0 }" == ::Catch::Detail::stringify(type{1.2f,0}) )
|
|
with expansion:
|
|
"{ 1.2f, 0 }" == "{ 1.2f, 0 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<int>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ 0 }" == ::Catch::Detail::stringify(type{0}) )
|
|
with expansion:
|
|
"{ 0 }" == "{ 0 }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<string,string>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ \"hello\", \"world\" }" == ::Catch::Detail::stringify(type{"hello","world"}) )
|
|
with expansion:
|
|
"{ "hello", "world" }"
|
|
==
|
|
"{ "hello", "world" }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
tuple<tuple<int>,tuple<>,float>
|
|
-------------------------------------------------------------------------------
|
|
ToStringTuple.tests.cpp:<line number>
|
|
...............................................................................
|
|
|
|
ToStringTuple.tests.cpp:<line number>: PASSED:
|
|
CHECK( "{ { 42 }, { }, 1.2f }" == ::Catch::Detail::stringify(value) )
|
|
with expansion:
|
|
"{ { 42 }, { }, 1.2f }"
|
|
==
|
|
"{ { 42 }, { }, 1.2f }"
|
|
|
|
-------------------------------------------------------------------------------
|
|
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.95 == 0.95
|
|
|
|
-------------------------------------------------------------------------------
|
|
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: 417 | 312 passed | 85 failed | 6 skipped | 14 failed as expected
|
|
assertions: 2260 | 2079 passed | 146 failed | 35 failed as expected
|
|
|