xtd 0.2.0
Loading...
Searching...
No Matches
assert_throws.cpp

Shows how to use xtd::tunit::assert::throws method.

#include <xtd/xtd.tunit>
#include <vector>
using namespace std;
using namespace xtd::tunit;
namespace unit_tests {
class test_class_(test) {
void test_method_(test_case_succeed) {
auto v = vector {1, 2, 3, 4};
assert::throws<std::out_of_range>([&] {return v.at(5);});
}
void test_method_(test_case_failed) {
auto v = vector {1, 2, 3, 4};
assert::throws<std::out_of_range>([&] {return v.at(2);});
}
};
}
auto main()->int {
return console_unit_test().run();
}
// This code produces the following output:
//
// Start 2 tests from 1 test case
// Run tests:
// SUCCEED test.test_case_succeed (0 ms total)
// FAILED test.test_case_failed (0 ms total)
// Expected: <std::out_of_range>
// But was: <nothing>
// Stack Trace: in |---OMITTED---|/assert_throws.cpp:15
//
// Test results:
// SUCCEED 1 test.
// FAILED 1 test.
// End 2 tests from 1 test case ran. (0 ms total)
The console_unit_test class is console unit test interface.
Definition console_unit_test.h:23
int32 run()
Runs all tests in this unit_test object and prints the result.
#define test_method_(method_name)
Add test method to class test.
Definition test_method_attribute.h:88
The tunit namespace contains a unit test library.
Definition abort_error.h:10