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

Shows how to use xtd::tunit::file_assert class.

#include <xtd/xtd.tunit>
#include <stdexcept>
using namespace xtd::io;
using namespace xtd::tunit;
namespace unit_tests {
// The class test must be declared with test_class_ helper.
class test_class_(test) {
void test_method_(test_case1) {
auto fn = path::get_temp_file_name();
file_assert::exists(fn);
file::remove(fn);
}
void test_method_(test_case2) {
auto fn = path::get_random_file_name();
file_assert::exists(fn);
// No need to remove fn because the file does not exist.
}
void test_method_(test_case3) {
auto is = std::istringstream {"xtd::tunit::file_assert::are_equal example."};
file_assert::are_equal(std::istringstream {"xtd::tunit::file_assert::are_equel example."}, is);
}
};
}
auto main() -> int {
return console_unit_test().run();
}
// This code can produce the following output :
//
// Start 3 tests from 1 test case
// Run tests:
// SUCCEED unit_tests::test.test_case1 (0 ms total)
// FAILED unit_tests::test.test_case2 (0 ms total)
// Expected: file exists
// But was: "t35uk5my.8v2"
// Stack Trace: in |---OMITTED---|/file_assert.cpp:18
// FAILED unit_tests::test.test_case3 (0 ms total)
// Expected: istream at offset 32 value e
// But was: a
// Stack Trace: in |---OMITTED---|/file_assert.cpp:24
//
// Test results:
// SUCCEED 1 test.
// FAILED 2 tests.
// End 3 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() noexcept
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:89
The xtd::io namespace contains types that allow reading and writing to files and data streams,...
Definition binary_reader.h:16
The tunit namespace contains a unit test library.
Definition abort_error.h:10