xtd 0.2.0
many_asserts.cpp

Shows how to use xtd::tunit::assert class with many asserts.

#include <xtd/xtd.tunit>
#include <stdexcept>
using namespace xtd::tunit;
namespace unit_tests {
// The class test must be declared with test_class_ helper.
class test_class_(test) {
public:
void test_method_(test_case1) {
}
void test_method_(test_case2) {
}
void test_method_(test_case3) {
assert::does_not_throw([] {throw std::range_error("error");});
}
};
}
auto main()->int {
return console_unit_test().run();
}
// This code can produce the following output:
//
// Start 3 tests from 1 test case
// Run tests:
// FAILED test.test_case1 (0 ms total)
// Expected: true
// But was: false
// Stack Trace: in !---OMITTED---!/many_asserts.cpp:10
// FAILED test.test_case2 (0 ms total)
// Expected: false
// But was: true
// Stack Trace: in !---OMITTED---!/many_asserts.cpp:14
// FAILED test.test_case3 (0 ms total)
// Expected: No Exception to be thrown
// But was: <std::range_error>
// Stack Trace: in !---OMITTED---!/many_asserts.cpp:18
//
// Test results:
// FAILED 3 tests.
// End 3 tests from 1 test case ran. (0 ms total)