xtd 0.2.0
Loading...
Searching...
No Matches
xtd::tunit::file_assert Class Referencefinal
Inheritance diagram for xtd::tunit::file_assert:
xtd::tunit::base_assert

Definition

The file_assert class contains a collection of static methods that implement the most file assertions used in xtd::tUnit.

Namespace
xtd::tunit
Library
xtd.tunit
Remarks
Assertions are central to unit testing in any of the xUnit frameworks, and xtd.tunit is no exception. xtd.tunit provides a rich set of assertions as static methods of the Assert class.
If an assertion fails, the method call does not return and an error is reported. If a test contains multiple assertions, any that follow the one that failed will not be executed. For this reason, it's usually best to try for one assertion per test.
Each method may be called without a message, with a simple text message or with a message and arguments. In the last case the message is formatted using the provided text and arguments.
Examples
This example show how to used some methods :
#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.hpp: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.hpp:73
bool is(std::any value)
Checks if the result of an expression is compatible with a given type.
Definition is.hpp:365
The xtd::io namespace contains types that allow reading and writing to files and data streams,...
Definition binary_reader.hpp:16
The tunit namespace contains a unit test library.
Definition abort_error.hpp:10

Public Static Methods

template<typename char_t >
static void are_equal (const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are equal.
 
template<typename char_t >
static void are_equal (const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are equal.
 
template<typename char_t >
static void are_equal (const xtd::basic_string< char_t > &expected, const xtd::basic_string< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are equal.
 
template<typename char_t >
static void are_equal (const xtd::basic_string< char_t > &expected, const xtd::basic_string< char_t > &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are equal.
 
template<typename char_t >
static void are_not_equal (const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are not equal.
 
template<typename char_t >
static void are_not_equal (const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are not equal.
 
template<typename char_t >
static void are_not_equal (const xtd::basic_string< char_t > &expected, const xtd::basic_string< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are not equal.
 
template<typename char_t >
static void are_not_equal (const xtd::basic_string< char_t > &expected, const xtd::basic_string< char_t > &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that two files are not equal.
 
template<typename char_t >
static void does_not_exist (const xtd::basic_string< char_t > &file, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that file not exists.
 
template<typename char_t >
static void does_not_exist (const xtd::basic_string< char_t > &file, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that file not exists.
 
template<typename char_t >
static void exists (const xtd::basic_string< char_t > &file, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that file exists.
 
template<typename char_t >
static void exists (const xtd::basic_string< char_t > &file, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Asserts that file exists.
 

Member Function Documentation

◆ are_equal() [1/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_equal ( const std::basic_istream< char_t > &  expected,
const std::basic_istream< char_t > &  actual,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are equal.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test";
s2.seekg(0, std::ios::beg);
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1); // test throws an assert_error exception.
static void are_equal(const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that two files are equal.
Definition file_assert.hpp:51

◆ are_equal() [2/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_equal ( const std::basic_istream< char_t > &  expected,
const std::basic_istream< char_t > &  actual,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are equal.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1, "User message..."); // test ok.
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1, "User message..."); // test throws an assert_error exception.

◆ are_equal() [3/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_equal ( const xtd::basic_string< char_t > &  expected,
const xtd::basic_string< char_t > &  actual,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are equal.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test";
s2.seekg(0, std::ios::beg);
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1); // test throws an assert_error exception.

◆ are_equal() [4/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_equal ( const xtd::basic_string< char_t > &  expected,
const xtd::basic_string< char_t > &  actual,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are equal.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1, "User message..."); // test ok.
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_equal(s2, s1, "User message..."); // test throws an assert_error exception.

◆ are_not_equal() [1/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_not_equal ( const std::basic_istream< char_t > &  expected,
const std::basic_istream< char_t > &  actual,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are not equal.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test2";
s2.seekg(0, std::ios::beg);
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1); // test throws an assert_error exception.
static void are_not_equal(const std::basic_istream< char_t > &expected, const std::basic_istream< char_t > &actual, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that two files are not equal.
Definition file_assert.hpp:173

◆ are_not_equal() [2/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_not_equal ( const std::basic_istream< char_t > &  expected,
const std::basic_istream< char_t > &  actual,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are not equal.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1, "User message..."); // test ok.
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1, "User message..."); // test throws an assert_error exception.

◆ are_not_equal() [3/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_not_equal ( const xtd::basic_string< char_t > &  expected,
const xtd::basic_string< char_t > &  actual,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are not equal.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test2";
s2.seekg(0, std::ios::beg);
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1); // test throws an assert_error exception.

◆ are_not_equal() [4/4]

template<typename char_t >
static void xtd::tunit::file_assert::are_not_equal ( const xtd::basic_string< char_t > &  expected,
const xtd::basic_string< char_t > &  actual,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that two files are not equal.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::stringstream s1;
s1 << "Test";
s1.seekg(0, std::ios::beg);
std::stringstream s2;
s2 << "Test2";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1, "User message..."); // test ok.
s2 << "Test";
s2.seekg(0, std::ios::beg);
xtd::tunit::file_assert::are_not_equal(s2, s1, "User message..."); // test throws an assert_error exception.

◆ does_not_exist() [1/2]

template<typename char_t >
static void xtd::tunit::file_assert::does_not_exist ( const xtd::basic_string< char_t > &  file,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that file not exists.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::ifstream f1("Test1.txt");
f1.close();
xtd::tunit::file_assert::does_not_exist("Test2.txt"); // test ok.
xtd::tunit::file_assert::does_not_exist("Test1.txt"); // test throws an assert_error exception.
static void does_not_exist(const xtd::basic_string< char_t > &file, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that file not exists.
Definition file_assert.hpp:289
@ f1
The F1 key.

◆ does_not_exist() [2/2]

template<typename char_t >
static void xtd::tunit::file_assert::does_not_exist ( const xtd::basic_string< char_t > &  file,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that file not exists.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::ifstream f1("Test1.txt");
f1.close();
xtd::tunit::file_assert::does_not_exist("Test2.txt" "User message..."); // test ok.
xtd::tunit::file_assert::does_not_exist("Test1.txt", "User message..."); // test throws an assert_error exception.

◆ exists() [1/2]

template<typename char_t >
static void xtd::tunit::file_assert::exists ( const xtd::basic_string< char_t > &  file,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that file exists.

Parameters
expectedthe expected value.
actualthe actual value.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::ifstream f1("Test1.txt");
f1.close();
xtd::tunit::file_assert::exists("Test1.txt"); // test ok.
xtd::tunit::file_assert::exists("Test2.txt"); // test throws an assert_error exception.
static void exists(const xtd::basic_string< char_t > &file, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Asserts that file exists.
Definition file_assert.hpp:333

◆ exists() [2/2]

template<typename char_t >
static void xtd::tunit::file_assert::exists ( const xtd::basic_string< char_t > &  file,
const std::string &  message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Asserts that file exists.

Parameters
expectedthe expected value.
actualthe actual value.
messageA user message to display if the assertion fails. This message can be seen in the unit test results.
stack_frameContains information about current file and current line.
Exceptions
xtd::tunit::assert_errorIf bad assertion.
Examples
std::ifstream f1("Test1.txt");
f1.close();
xtd::tunit::file_assert::exists("Test1.txt" "User message..."); // test ok.
xtd::tunit::file_assert::exists("Test2.txt", "User message..."); // test throws an assert_error exception.

The documentation for this class was generated from the following file: