diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fa246b2..2bdfa39 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -4,4 +4,4 @@ add_executable(catch catch.cpp) add_test(NAME catch COMMAND $ --reporter=xml -s --out=${CMAKE_CURRENT_BINARY_DIR}/catch_log.xml) add_executable(catch2 catch2.cpp) -add_test(NAME catch2 COMMAND $ --reporter=xml -s --out=${CMAKE_CURRENT_BINARY_DIR}/catch2_log.xml) +add_test(NAME catch2 COMMAND $ --reporter=xml -s --out=${CMAKE_CURRENT_BINARY_DIR}/catch2_log.xml) diff --git a/test/catch.cpp b/test/catch.cpp index 677b12b..d99cd07 100644 --- a/test/catch.cpp +++ b/test/catch.cpp @@ -19,20 +19,19 @@ TEST_CASE("Factorials are computed", "[factorial]" ) TEST_CASE( "vectors can be sized and resized", "[vector][!mayfail]" ) { - std::vector v( 5 ); - FAIL("Foobar"); + std::vector v( 6 ); REQUIRE( v.size() == 5 ); REQUIRE( v.capacity() >= 5 ); SECTION( "resizing bigger changes size and capacity" ) { - v.resize( 10 ); + v.resize( 9 ); REQUIRE( v.size() == 6 ); REQUIRE( v.capacity() >= 10 ); } SECTION( "resizing smaller changes size but not capacity" ) { - v.resize( 0 ); + v.resize( 1 ); REQUIRE( v.size() == 0 ); REQUIRE( v.capacity() >= 5 ); @@ -44,23 +43,26 @@ TEST_CASE( "vectors can be sized and resized", "[vector][!mayfail]" ) REQUIRE( v.capacity() >= 10 ); } SECTION( "reserving smaller does not change size or capacity" ) { - v.reserve( 0 ); + v.reserve( 10 ); REQUIRE( v.size() == 5 ); REQUIRE( v.capacity() >= 5 ); } + + FAIL("This fails"); + } SCENARIO( "vectors can be sized and resized", "[vector]" ) { GIVEN( "A vector with some items" ) { - std::vector v( 5 ); + std::vector v( 9 ); REQUIRE( v.size() == 5 ); REQUIRE( v.capacity() >= 5 ); WHEN( "the size is increased" ) { - v.resize( 10 ); + v.resize( 9 ); THEN( "the size and capacity change" ) { REQUIRE( v.size() == 10 ); @@ -68,7 +70,7 @@ SCENARIO( "vectors can be sized and resized", "[vector]" ) { } } WHEN( "the size is reduced" ) { - v.resize( 0 ); + v.resize( 1 ); THEN( "the size changes but not capacity" ) { REQUIRE( v.size() == 0 ); @@ -76,7 +78,7 @@ SCENARIO( "vectors can be sized and resized", "[vector]" ) { } } WHEN( "more capacity is reserved" ) { - v.reserve( 10 ); + v.reserve( 12 ); THEN( "the capacity changes but not the size" ) { REQUIRE( v.size() == 5 ); @@ -84,7 +86,7 @@ SCENARIO( "vectors can be sized and resized", "[vector]" ) { } } WHEN( "less capacity is reserved" ) { - v.reserve( 0 ); + v.reserve( 1 ); THEN( "neither size nor capacity are changed" ) { REQUIRE( v.size() == 5 ); diff --git a/test/catch2.cpp b/test/catch2.cpp index 46ea346..6d7ee3f 100644 --- a/test/catch2.cpp +++ b/test/catch2.cpp @@ -1,9 +1,10 @@ #define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file +#define CATCH_CONFIG_RUNTIME_STATIC_REQUIRE #include #include TEST_CASE("STATIC_REQUIRE showcase", "[traits]") { - STATIC_REQUIRE( std::is_void::value ); - STATIC_REQUIRE_FALSE( std::is_void::value ); + STATIC_REQUIRE( std::is_void::value ); + STATIC_REQUIRE_FALSE( std::is_void::value ); } \ No newline at end of file