diff options
Diffstat (limited to 'examples/110-Fix-ClassFixture.cpp')
-rw-r--r-- | examples/110-Fix-ClassFixture.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/examples/110-Fix-ClassFixture.cpp b/examples/110-Fix-ClassFixture.cpp deleted file mode 100644 index e42fd175..00000000 --- a/examples/110-Fix-ClassFixture.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// 110-Fix-ClassFixture.cpp - -// Catch has two ways to express fixtures: -// - Sections -// - Traditional class-based fixtures (this file) - -// main() provided in 000-CatchMain.cpp - -#include <catch2/catch.hpp> - -class DBConnection -{ -public: - static DBConnection createConnection( std::string const & /*dbName*/ ) { - return DBConnection(); - } - - bool executeSQL( std::string const & /*query*/, int const /*id*/, std::string const & arg ) { - if ( arg.length() == 0 ) { - throw std::logic_error("empty SQL query argument"); - } - return true; // ok - } -}; - -class UniqueTestsFixture -{ -protected: - UniqueTestsFixture() - : conn( DBConnection::createConnection( "myDB" ) ) - {} - - int getID() { - return ++uniqueID; - } - -protected: - DBConnection conn; - -private: - static int uniqueID; -}; - -int UniqueTestsFixture::uniqueID = 0; - -TEST_CASE_METHOD( UniqueTestsFixture, "Create Employee/No Name", "[create]" ) { - REQUIRE_THROWS( conn.executeSQL( "INSERT INTO employee (id, name) VALUES (?, ?)", getID(), "") ); -} - -TEST_CASE_METHOD( UniqueTestsFixture, "Create Employee/Normal", "[create]" ) { - REQUIRE( conn.executeSQL( "INSERT INTO employee (id, name) VALUES (?, ?)", getID(), "Joe Bloggs" ) ); -} - -// Compile & run: -// - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -o 110-Fix-ClassFixture 110-Fix-ClassFixture.cpp 000-CatchMain.o && 110-Fix-ClassFixture --success -// - cl -EHsc -I%CATCH_SINGLE_INCLUDE% 110-Fix-ClassFixture.cpp 000-CatchMain.obj && 110-Fix-ClassFixture --success - -// Expected compact output (all assertions): -// -// prompt> 110-Fix-ClassFixture.exe --reporter compact --success -// 110-Fix-ClassFixture.cpp:47: passed: conn.executeSQL( "INSERT INTO employee (id, name) VALUES (?, ?)", getID(), "") -// 110-Fix-ClassFixture.cpp:51: passed: conn.executeSQL( "INSERT INTO employee (id, name) VALUES (?, ?)", getID(), "Joe Bloggs" ) for: true -// Passed both 2 test cases with 2 assertions. |