35 template<
typename Char>
36 static void are_equal(
const std::basic_istream<Char>& expected,
const std::basic_istream<Char>& actual) {
are_equal(expected, actual,
"",
line_info());}
56 template<
typename Char>
77 template<
typename Char>
78 static void are_equal(
const std::basic_istream<Char>& expected,
const std::basic_istream<Char>& actual,
const std::string& message) {
are_equal(expected, actual, message,
line_info());}
99 template<
typename Char>
101 std::basic_istream<Char> if_expected(expected.rdbuf());
102 std::basic_istream<Char> if_actual(actual.rdbuf());
104 if_expected.seekg(0, std::ios::end);
105 if_actual.seekg(0, std::ios::end);
106 size_t size_expected = if_expected.tellg();
107 size_t size_actual = if_actual.tellg();
108 if (size_expected != size_actual) {
109 base_assert::fail(
"istream length " + base_assert::to_string(size_expected), base_assert::to_string(size_actual), message, line_info);
113 if_expected.seekg(0, std::ios::beg);
114 if_actual.seekg(0, std::ios::beg);
115 for (
size_t offset = 0; offset < size_actual; ++offset) {
116 Char value_expected = if_expected.get();
117 Char value_actual = if_actual.get();
118 if (value_expected != value_actual) {
119 base_assert::fail(
"istream at offset " + base_assert::to_string(offset) +
" value " + base_assert::to_string(value_expected), base_assert::to_string(value_actual), message, line_info);
143 template<
typename Char>
144 static void are_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual) {
are_equal(expected, actual,
"",
line_info());}
164 template<
typename Char>
185 template<
typename Char>
186 static void are_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual,
const std::string& message) {
are_equal(expected, actual, message,
line_info());}
207 template<
typename Char>
208 static void are_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual,
const std::string& message,
const tunit::line_info&
line_info) {
are_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
211 template<
typename Char>
213 template<
typename Char>
215 template<
typename Char>
216 static void are_equal(
const std::basic_string<Char>& expected,
const Char* actual,
const std::string& message) {
are_equal(expected, actual, message, line_info());}
217 template<
typename Char>
218 static void are_equal(
const std::basic_string<Char>& expected,
const Char* actual,
const std::string& message,
const tunit::line_info& line_info) {
are_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
219 template<
typename Char>
220 static void are_equal(
const Char* expected,
const std::basic_string<Char>& actual) {
are_equal(expected, actual,
"", line_info());}
221 template<
typename Char>
223 template<
typename Char>
224 static void are_equal(
const Char* expected,
const std::basic_string<Char>& actual,
const std::string& message) {
are_equal(expected, actual, message, line_info());}
225 template<
typename Char>
226 static void are_equal(
const Char* expected,
const std::basic_string<Char>& actual,
const std::string& message,
const tunit::line_info& line_info) {
are_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
227 template<
typename Char>
228 static void are_equal(
const Char* expected,
const Char* actual) {
are_equal(expected, actual,
"", line_info());}
229 template<
typename Char>
231 template<
typename Char>
232 static void are_equal(
const Char* expected,
const Char* actual,
const std::string& message) {
are_equal(expected, actual, message, line_info());}
233 template<
typename Char>
234 static void are_equal(
const Char* expected,
const Char* actual,
const std::string& message,
const tunit::line_info& line_info) {
are_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
254 template<
typename Char>
255 static void are_not_equal(
const std::basic_istream<Char>& expected,
const std::basic_istream<Char>& actual) {
are_not_equal(expected, actual,
"", line_info());}
275 template<
typename Char>
296 template<
typename Char>
297 static void are_not_equal(
const std::basic_istream<Char>& expected,
const std::basic_istream<Char>& actual,
const std::string& message) {
are_not_equal(expected, actual, message, line_info());}
318 template<
typename Char>
319 static void are_not_equal(
const std::basic_istream<Char>& expected,
const std::basic_istream<Char>& actual,
const std::string& message,
const tunit::line_info& line_info) {
320 std::basic_istream<Char> if_expected(expected.rdbuf());
321 std::basic_istream<Char> if_actual(actual.rdbuf());
323 if_expected.seekg(0, std::ios::end);
324 if_actual.seekg(0, std::ios::end);
325 size_t size_expected = if_expected.tellg();
326 size_t size_actual = if_actual.tellg();
327 if (size_expected != size_actual) {
332 if_expected.seekg(0, std::ios::beg);
333 if_actual.seekg(0, std::ios::beg);
334 for (
size_t offset = 0; offset < size_actual; ++offset) {
335 Char value_expected = if_expected.get();
336 Char value_actual = if_actual.get();
337 if (value_expected != value_actual) {
342 base_assert::fail(
"not equal <" + __tunit_demangle(
typeid(expected).name()) +
">",
"<" + __tunit_demangle(
typeid(expected).name()) +
">", message, line_info);
362 template<
typename Char>
363 static void are_not_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual) {
are_not_equal(expected, actual,
"", line_info());}
383 template<
typename Char>
404 template<
typename Char>
405 static void are_not_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual,
const std::string& message) {
are_not_equal(expected, actual, message, line_info());}
426 template<
typename Char>
427 static void are_not_equal(
const std::basic_string<Char>& expected,
const std::basic_string<Char>& actual,
const std::string& message,
const tunit::line_info& line_info) {
are_not_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
430 template<
typename Char>
431 static void are_not_equal(
const std::basic_string<Char>& expected,
const Char* actual) {
are_not_equal(expected, actual,
"", line_info());}
432 template<
typename Char>
434 template<
typename Char>
435 static void are_not_equal(
const std::basic_string<Char>& expected,
const Char* actual,
const std::string& message) {
are_not_equal(expected, actual, message, line_info());}
436 template<
typename Char>
437 static void are_not_equal(
const std::basic_string<Char>& expected,
const Char* actual,
const std::string& message,
const tunit::line_info& line_info) {
are_not_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
438 template<
typename Char>
439 static void are_not_equal(
const Char* expected,
const std::basic_string<Char>& actual) {
are_not_equal(expected, actual,
"", line_info());}
440 template<
typename Char>
442 template<
typename Char>
443 static void are_not_equal(
const Char* expected,
const std::basic_string<Char>& actual,
const std::string& message) {
are_not_equal(expected, actual, message, line_info());}
444 template<
typename Char>
445 static void are_not_equal(
const Char* expected,
const std::basic_string<Char>& actual,
const std::string& message,
const tunit::line_info& line_info) {
are_not_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
446 template<
typename Char>
448 template<
typename Char>
450 template<
typename Char>
451 static void are_not_equal(
const Char* expected,
const Char* actual,
const std::string& message) {
are_not_equal(expected, actual, message, line_info());}
452 template<
typename Char>
453 static void are_not_equal(
const Char* expected,
const Char* actual,
const std::string& message,
const tunit::line_info& line_info) {
are_not_equal(std::basic_ifstream<Char>(expected), std::basic_ifstream<Char>(actual), message, line_info);}
467 template<
typename Char>
468 static void exists(
const std::basic_string<Char>& file) {
exists(file,
"", line_info());}
482 template<
typename Char>
497 template<
typename Char>
498 static void exists(
const std::basic_string<Char>& file,
const std::string& message) {
exists(file, message, line_info());}
513 template<
typename Char>
515 if (std::basic_ifstream<Char>(file).good() ==
false)
516 base_assert::fail(
"file exists", base_assert::to_string(file), message, line_info);
522 template<
typename Char>
523 static void exists(
const Char* file) {
exists(file,
"", line_info());}
524 template<
typename Char>
526 template<
typename Char>
527 static void exists(
const Char* file,
const std::string& message) {
exists(file, message, line_info());}
528 template<
typename Char>
529 static void exists(
const Char* file,
const std::string& message,
const tunit::line_info& line_info) {
exists(std::basic_string<Char>(file), message, line_info);}
543 template<
typename Char>
558 template<
typename Char>
573 template<
typename Char>
589 template<
typename Char>
591 if (std::basic_ifstream<Char>(file).good() ==
true)
592 base_assert::fail(
"not file exists", base_assert::to_string(file), message, line_info);
598 template<
typename Char>
600 template<
typename Char>
602 template<
typename Char>
604 template<
typename Char>
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Asserts that two files are not equal.
Definition: file_assert.h:405
static void exists(const std::basic_string< Char > &file)
Asserts that file exists.
Definition: file_assert.h:468
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Asserts that two files are equal.
Definition: file_assert.h:165
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two files are equal.
Definition: file_assert.h:208
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Asserts that two files are not equal.
Definition: file_assert.h:297
Contains tunit::directory_assert class.
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Asserts that two files are equal.
Definition: file_assert.h:36
static void exists(const std::basic_string< Char > &file, const tunit::line_info &line_info)
Asserts that file exists.
Definition: file_assert.h:483
static void does_not_exist(const std::basic_string< Char > &file, const std::string &message)
Asserts that file not exists.
Definition: file_assert.h:574
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Asserts that two files are equal.
Definition: file_assert.h:144
line_info information class is used to store current file, current line and current function informat...
Definition: line_info.h:13
static void does_not_exist(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Asserts that file not exists.
Definition: file_assert.h:590
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two files are equal.
Definition: file_assert.h:100
static void fail()
Throws an tunit::assertion_error exception.
Definition: base_assert.h:60
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Asserts that two files are not equal.
Definition: file_assert.h:255
static void exists(const std::basic_string< Char > &file, const std::string &message)
Asserts that file exists.
Definition: file_assert.h:498
static void does_not_exist(const std::basic_string< Char > &file, const tunit::line_info &line_info)
Asserts that file not exists.
Definition: file_assert.h:559
The file_assert class contains a collection of static methods that implement the most file assertions...
Definition: file_assert.h:12
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Asserts that two files are equal.
Definition: file_assert.h:186
Definition: base_assert.h:15
static void succeed()
Generates a success with a generic message.
Definition: base_assert.h:130
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two files are not equal.
Definition: file_assert.h:319
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Asserts that two files are not equal.
Definition: file_assert.h:384
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Asserts that two files are equal.
Definition: file_assert.h:78
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two files are not equal.
Definition: file_assert.h:427
static void does_not_exist(const std::basic_string< Char > &file)
Asserts that file not exists.
Definition: file_assert.h:544
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Asserts that two files are not equal.
Definition: file_assert.h:276
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Asserts that two files are not equal.
Definition: file_assert.h:363
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Asserts that two files are equal.
Definition: file_assert.h:57
static void exists(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Asserts that file exists.
Definition: file_assert.h:514