tunit - Reference Guide  1.0.0
Modern c++17 unit testing framework on Windows, macOS, Linux, iOS and android.
file_valid.h
Go to the documentation of this file.
1 #pragma once
4 #include "valid.h"
5 #include "file_assert.h"
6 
8 namespace tunit {
13  class file_valid final : private base_assert {
14  public:
16  file_valid() = delete;
18 
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());}
37 
55  template<typename Char>
56  static void are_equal(const std::basic_istream<Char>& expected, const std::basic_istream<Char>& actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
57 
75  template<typename Char>
76  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());}
77 
96  template<typename Char>
97  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) {
98  try {
99  file_assert::are_equal(expected, actual, message, line_info);
100  } catch(...) {
101  base_assert::error();
102  }
103  }
104 
121  template<typename Char>
122  static void are_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual) {are_equal(expected, actual, "", line_info());}
123 
141  template<typename Char>
142  static void are_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
143 
161  template<typename Char>
162  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());}
163 
182  template<typename Char>
183  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);}
184 
186  template<typename Char>
187  static void are_equal(const std::basic_string<Char>& expected, const Char* actual) {are_equal(expected, actual, "", line_info());}
188  template<typename Char>
189  static void are_equal(const std::basic_string<Char>& expected, const Char* actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
190  template<typename Char>
191  static void are_equal(const std::basic_string<Char>& expected, const Char* actual, const std::string& message) {are_equal(expected, actual, message, line_info());}
192  template<typename Char>
193  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);}
194  template<typename Char>
195  static void are_equal(const Char* expected, const std::basic_string<Char>& actual) {are_equal(expected, actual, "", line_info());}
196  template<typename Char>
197  static void are_equal(const Char* expected, const std::basic_string<Char>& actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
198  template<typename Char>
199  static void are_equal(const Char* expected, const std::basic_string<Char>& actual, const std::string& message) {are_equal(expected, actual, message, line_info());}
200  template<typename Char>
201  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);}
202  template<typename Char>
203  static void are_equal(const Char* expected, const Char* actual) {are_equal(expected, actual, "", line_info());}
204  template<typename Char>
205  static void are_equal(const Char* expected, const Char* actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
206  template<typename Char>
207  static void are_equal(const Char* expected, const Char* actual, const std::string& message) {are_equal(expected, actual, message, line_info());}
208  template<typename Char>
209  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);}
211 
228  template<typename Char>
229  static void are_not_equal(const std::basic_istream<Char>& expected, const std::basic_istream<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
230 
248  template<typename Char>
249  static void are_not_equal(const std::basic_istream<Char>& expected, const std::basic_istream<Char>& actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
250 
268  template<typename Char>
269  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());}
270 
289  template<typename Char>
290  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) {
291  try {
292  file_assert::are_not_equal(expected, actual, message, line_info);
293  } catch(...) {
294  base_assert::error();
295  }
296  }
297 
314  template<typename Char>
315  static void are_not_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
316 
334  template<typename Char>
335  static void are_not_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
336 
354  template<typename Char>
355  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());}
356 
375  template<typename Char>
376  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);}
377 
379  template<typename Char>
380  static void are_not_equal(const std::basic_string<Char>& expected, const Char* actual) {are_not_equal(expected, actual, "", line_info());}
381  template<typename Char>
382  static void are_not_equal(const std::basic_string<Char>& expected, const Char* actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
383  template<typename Char>
384  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());}
385  template<typename Char>
386  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);}
387  template<typename Char>
388  static void are_not_equal(const Char* expected, const std::basic_string<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
389  template<typename Char>
390  static void are_not_equal(const Char* expected, const std::basic_string<Char>& actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
391  template<typename Char>
392  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());}
393  template<typename Char>
394  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);}
395  template<typename Char>
396  static void are_not_equal(const Char* expected, const Char* actual) {are_not_equal(expected, actual, "", line_info());}
397  template<typename Char>
398  static void are_not_equal(const Char* expected, const Char* actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
399  template<typename Char>
400  static void are_not_equal(const Char* expected, const Char* actual, const std::string& message) {are_not_equal(expected, actual, message, line_info());}
401  template<typename Char>
402  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);}
404 
415  template<typename Char>
416  static void exists(const std::basic_string<Char>& file) {exists(file, "", line_info());}
417 
429  template<typename Char>
430  static void exists(const std::basic_string<Char>& file, const tunit::line_info& line_info) {exists(file, "", line_info);}
431 
443  template<typename Char>
444  static void exists(const std::basic_string<Char>& file, const std::string& message) {exists(file, message, line_info());}
445 
458  template<typename Char>
459  static void exists(const std::basic_string<Char>& file, const std::string& message, const tunit::line_info& line_info) {
460  try {
461  file_assert::exists(file, message, line_info);
462  } catch(...) {
463  base_assert::error();
464  }
465  }
466 
468  template<typename Char>
469  static void exists(const Char* file) {exists(file, "", line_info());}
470  template<typename Char>
471  static void exists(const Char* file, const tunit::line_info& line_info) {exists(file, "", line_info);}
472  template<typename Char>
473  static void exists(const Char* file, const std::string& message) {exists(file, message, line_info());}
474  template<typename Char>
475  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);}
477 
488  template<typename Char>
489  static void does_not_exist(const std::basic_string<Char>& file) {does_not_exist(file, "", line_info());}
490 
502  template<typename Char>
503  static void does_not_exist(const std::basic_string<Char>& file, const tunit::line_info& line_info) {does_not_exist(file, "", line_info);}
504 
516  template<typename Char>
517  static void does_not_exist(const std::basic_string<Char>& file, const std::string& message) {does_not_exist(file, message, line_info());}
518 
531  template<typename Char>
532  static void does_not_exist(const std::basic_string<Char>& file, const std::string& message, const tunit::line_info& line_info) {
533  try {
534  file_assert::does_not_exist(file, message, line_info);
535  } catch(...) {
536  base_assert::error();
537  }
538  }
539 
541  template<typename Char>
542  static void does_not_exist(const Char* file) {does_not_exist(file, "", line_info());}
543  template<typename Char>
544  static void does_not_exist(const Char* file, const tunit::line_info& line_info) {does_not_exist(file, "", line_info);}
545  template<typename Char>
546  static void does_not_exist(const Char* file, const std::string& message) {does_not_exist(file, message, line_info());}
547  template<typename Char>
548  static void does_not_exist(const Char* file, const std::string& message, const tunit::line_info& line_info) {does_not_exist(std::basic_string<Char>(file), message, line_info);}
550  };
551 }
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Valids that two files are not equal.
Definition: file_valid.h:315
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Valids that two files are equal.
Definition: file_valid.h:162
static void does_not_exist(const std::basic_string< Char > &file)
Valids that file not exists.
Definition: file_valid.h:489
static void exists(const std::basic_string< Char > &file)
Asserts that file exists.
Definition: file_assert.h:468
Contains tunit::file_assert class.
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Valids that two files are equal.
Definition: file_valid.h:76
static void does_not_exist(const std::basic_string< Char > &file, const std::string &message)
Valids that file not exists.
Definition: file_valid.h:517
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Valids that two files are not equal.
Definition: file_valid.h:269
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)
Valids that two files are equal.
Definition: file_valid.h:97
The file_valid class contains a collection of static methods that implement the most file assertions ...
Definition: file_valid.h:13
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Valids that two files are not equal.
Definition: file_valid.h:249
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)
Valids that file exists.
Definition: file_valid.h:430
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)
Valids that two files are not equal.
Definition: file_valid.h:376
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Valids that two files are equal.
Definition: file_valid.h:142
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Valids that two files are equal.
Definition: file_valid.h:36
static void does_not_exist(const std::basic_string< Char > &file, const tunit::line_info &line_info)
Valids that file not exists.
Definition: file_valid.h:503
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Valids that two files are equal.
Definition: file_valid.h:56
static void does_not_exist(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Valids that file not exists.
Definition: file_valid.h:532
line_info information class is used to store current file, current line and current function informat...
Definition: line_info.h:13
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Valids that two files are not equal.
Definition: file_valid.h:355
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 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)
Valids that two files are not equal.
Definition: file_valid.h:290
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)
Valids that two files are equal.
Definition: file_valid.h:183
Contains tunit::valid class.
Definition: base_assert.h:15
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Valids that two files are not equal.
Definition: file_valid.h:335
static void exists(const std::basic_string< Char > &file, const std::string &message)
Valids that file exists.
Definition: file_valid.h:444
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
static void exists(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Valids that file exists.
Definition: file_valid.h:459
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Valids that two files are not equal.
Definition: file_valid.h:229
static void exists(const std::basic_string< Char > &file)
Valids that file exists.
Definition: file_valid.h:416
static void does_not_exist(const std::basic_string< Char > &file)
Asserts that file not exists.
Definition: file_assert.h:544
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Valids that two files are equal.
Definition: file_valid.h:122