tunit - Reference Guide  1.0.0
Modern c++17 unit testing framework on Windows, macOS, Linux, iOS and android.
file_assume.h
Go to the documentation of this file.
1 #pragma once
4 #include "assume.h"
5 #include "file_assert.h"
6 
8 namespace tunit {
13  class file_assume final : private base_assert {
14  public:
16  file_assume() = delete;
18 
36  template<typename Char>
37  static void are_equal(const std::basic_istream<Char>& expected, const std::basic_istream<Char>& actual) {are_equal(expected, actual, "", line_info());}
38 
57  template<typename Char>
58  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);}
59 
78  template<typename Char>
79  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());}
80 
100  template<typename Char>
101  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) {
102  try {
103  file_assert::are_equal(expected, actual, message, line_info);
104  } catch(...) {
105  assert::abort();
106  }
107  }
108 
126  template<typename Char>
127  static void are_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual) {are_equal(expected, actual, "", line_info());}
128 
147  template<typename Char>
148  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);}
149 
168  template<typename Char>
169  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());}
170 
190  template<typename Char>
191  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);}
192 
194  template<typename Char>
195  static void are_equal(const std::basic_string<Char>& expected, const Char* actual) {are_equal(expected, actual, "", line_info());}
196  template<typename Char>
197  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);}
198  template<typename Char>
199  static void are_equal(const std::basic_string<Char>& expected, const Char* actual, const std::string& message) {are_equal(expected, actual, message, line_info());}
200  template<typename Char>
201  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);}
202  template<typename Char>
203  static void are_equal(const Char* expected, const std::basic_string<Char>& actual) {are_equal(expected, actual, "", line_info());}
204  template<typename Char>
205  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);}
206  template<typename Char>
207  static void are_equal(const Char* expected, const std::basic_string<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 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);}
210  template<typename Char>
211  static void are_equal(const Char* expected, const Char* actual) {are_equal(expected, actual, "", line_info());}
212  template<typename Char>
213  static void are_equal(const Char* expected, const Char* actual, const tunit::line_info& line_info) {are_equal(expected, actual, "", line_info);}
214  template<typename Char>
215  static void are_equal(const Char* expected, const Char* actual, const std::string& message) {are_equal(expected, actual, message, line_info());}
216  template<typename Char>
217  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);}
219 
237  template<typename Char>
238  static void are_not_equal(const std::basic_istream<Char>& expected, const std::basic_istream<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
239 
258  template<typename Char>
259  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);}
260 
279  template<typename Char>
280  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());}
281 
301  template<typename Char>
302  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) {
303  try {
304  file_assert::are_not_equal(expected, actual, message, line_info);
305  } catch(...) {
306  assert::abort();
307  }
308  }
309 
327  template<typename Char>
328  static void are_not_equal(const std::basic_string<Char>& expected, const std::basic_string<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
329 
348  template<typename Char>
349  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);}
350 
369  template<typename Char>
370  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());}
371 
391  template<typename Char>
392  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);}
393 
395  template<typename Char>
396  static void are_not_equal(const std::basic_string<Char>& expected, const Char* actual) {are_not_equal(expected, actual, "", line_info());}
397  template<typename Char>
398  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);}
399  template<typename Char>
400  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());}
401  template<typename Char>
402  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);}
403  template<typename Char>
404  static void are_not_equal(const Char* expected, const std::basic_string<Char>& actual) {are_not_equal(expected, actual, "", line_info());}
405  template<typename Char>
406  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);}
407  template<typename Char>
408  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());}
409  template<typename Char>
410  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);}
411  template<typename Char>
412  static void are_not_equal(const Char* expected, const Char* actual) {are_not_equal(expected, actual, "", line_info());}
413  template<typename Char>
414  static void are_not_equal(const Char* expected, const Char* actual, const tunit::line_info& line_info) {are_not_equal(expected, actual, "", line_info);}
415  template<typename Char>
416  static void are_not_equal(const Char* expected, const Char* actual, const std::string& message) {are_not_equal(expected, actual, message, line_info());}
417  template<typename Char>
418  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);}
420 
432  template<typename Char>
433  static void exists(const std::basic_string<Char>& file) {exists(file, "", line_info());}
434 
447  template<typename Char>
448  static void exists(const std::basic_string<Char>& file, const tunit::line_info& line_info) {exists(file, "", line_info);}
449 
462  template<typename Char>
463  static void exists(const std::basic_string<Char>& file, const std::string& message) {exists(file, message, line_info());}
464 
478  template<typename Char>
479  static void exists(const std::basic_string<Char>& file, const std::string& message, const tunit::line_info& line_info) {
480  try {
481  file_assert::exists(file, message, line_info);
482  } catch(...) {
483  assert::abort();
484  }
485  }
486 
488  template<typename Char>
489  static void exists(const Char* file) {exists(file, "", line_info());}
490  template<typename Char>
491  static void exists(const Char* file, const tunit::line_info& line_info) {exists(file, "", line_info);}
492  template<typename Char>
493  static void exists(const Char* file, const std::string& message) {exists(file, message, line_info());}
494  template<typename Char>
495  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);}
497 
509  template<typename Char>
510  static void does_not_exist(const std::basic_string<Char>& file) {does_not_exist(file, "", line_info());}
511 
524  template<typename Char>
525  static void does_not_exist(const std::basic_string<Char>& file, const tunit::line_info& line_info) {does_not_exist(file, "", line_info);}
526 
539  template<typename Char>
540  static void does_not_exist(const std::basic_string<Char>& file, const std::string& message) {does_not_exist(file, message, line_info());}
541 
555  template<typename Char>
556  static void does_not_exist(const std::basic_string<Char>& file, const std::string& message, const tunit::line_info& line_info) {
557  try {
558  file_assert::does_not_exist(file, message, line_info);
559  } catch(...) {
560  assert::abort();
561  }
562  }
563 
565  template<typename Char>
566  static void does_not_exist(const Char* file) {does_not_exist(file, "", line_info());}
567  template<typename Char>
568  static void does_not_exist(const Char* file, const tunit::line_info& line_info) {does_not_exist(file, "", line_info);}
569  template<typename Char>
570  static void does_not_exist(const Char* file, const std::string& message) {does_not_exist(file, message, line_info());}
571  template<typename Char>
572  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);}
574  };
575 }
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)
Assumes that two files are not equal.
Definition: file_assume.h:302
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Assumes that two files are not equal.
Definition: file_assume.h:328
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 does_not_exist(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Assumes that file not exists.
Definition: file_assume.h:556
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Assumes that two files are not equal.
Definition: file_assume.h:238
static void exists(const std::basic_string< Char > &file, const std::string &message, const tunit::line_info &line_info)
Assumes that file exists.
Definition: file_assume.h:479
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Assumes that two files are equal.
Definition: file_assume.h:58
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Assumes that two files are not equal.
Definition: file_assume.h:370
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 std::string &message)
Assumes that file exists.
Definition: file_assume.h:463
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const tunit::line_info &line_info)
Assumes that two files are not equal.
Definition: file_assume.h:259
static void exists(const std::basic_string< Char > &file, const tunit::line_info &line_info)
Assumes that file exists.
Definition: file_assume.h:448
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)
Assumes that two files are not equal.
Definition: file_assume.h:392
static void are_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual)
Assumes that two files are equal.
Definition: file_assume.h:37
static void abort()
Abort current test.
Definition: base_assert.h:26
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const std::string &message)
Assumes that two files are equal.
Definition: file_assume.h:169
line_info information class is used to store current file, current line and current function informat...
Definition: line_info.h:13
Contains tunit::assume class.
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_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Assumes that two files are equal.
Definition: file_assume.h:79
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual)
Assumes that two files are equal.
Definition: file_assume.h:127
static void are_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Assumes that two files are equal.
Definition: file_assume.h:148
Definition: base_assert.h:15
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
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)
Assumes that two files are equal.
Definition: file_assume.h:101
The file_assume class contains a collection of static methods that implement the most file assertions...
Definition: file_assume.h:13
static void does_not_exist(const std::basic_string< Char > &file)
Assumes that file not exists.
Definition: file_assume.h:510
static void are_not_equal(const std::basic_istream< Char > &expected, const std::basic_istream< Char > &actual, const std::string &message)
Assumes that two files are not equal.
Definition: file_assume.h:280
static void exists(const std::basic_string< Char > &file)
Assumes that file exists.
Definition: file_assume.h:433
static void are_not_equal(const std::basic_string< Char > &expected, const std::basic_string< Char > &actual, const tunit::line_info &line_info)
Assumes that two files are not equal.
Definition: file_assume.h:349
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)
Assumes that two files are equal.
Definition: file_assume.h:191
static void does_not_exist(const std::basic_string< Char > &file, const tunit::line_info &line_info)
Assumes that file not exists.
Definition: file_assume.h:525
static void does_not_exist(const std::basic_string< Char > &file)
Asserts that file not exists.
Definition: file_assert.h:544
static void does_not_exist(const std::basic_string< Char > &file, const std::string &message)
Assumes that file not exists.
Definition: file_assume.h:540