tunit - Reference Guide  1.0.0
Modern c++17 unit testing framework on Windows, macOS, Linux, iOS and android.
string_assert.h
Go to the documentation of this file.
1 #pragma once
4 #include "assert.h"
5 #include <locale>
6 #include <cstring>
7 #include <regex>
8 #include <string>
9 
11 namespace tunit {
16  class string_assert final : private base_assert {
17  public:
19  string_assert() = delete;
21 
31  static void are_equal_ignoring_case(const std::string& expected, const std::string& actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
32 
43  static void are_equal_ignoring_case(const std::string& expected, const std::string& actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
44 
55  static void are_equal_ignoring_case(const std::string& expected, const std::string& actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
56 
68  static void are_equal_ignoring_case(const std::string& expected, const std::string& actual, const std::string& message, const tunit::line_info& line_info) {
69  if (to_lower(actual) == to_lower(expected))
70  assert::succeed(message, line_info);
71  else
72  base_assert::fail(base_assert::to_string(expected) + ", ignoring case", base_assert::to_string(actual), message, line_info);
73  }
74 
84  static void are_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
85 
96  static void are_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
97 
108  static void are_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
109 
121  static void are_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const std::string& message, const tunit::line_info& line_info) {
122  if (to_lower(actual) == to_lower(expected))
123  assert::succeed(message, line_info);
124  else
125  base_assert::fail(base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
126  }
127 
137  static void are_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
138 
149  static void are_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
150 
161  static void are_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
162 
174  static void are_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const std::string& message, const tunit::line_info& line_info) {
175  if (to_lower(actual) == to_lower(expected))
176  assert::succeed(message, line_info);
177  else
178  base_assert::fail(base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
179  }
180 
190  static void are_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
191 
202  static void are_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
203 
214  static void are_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
215 
227  static void are_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const std::string& message, const tunit::line_info& line_info) {
228  if (to_lower(actual) == to_lower(expected))
229  assert::succeed(message, line_info);
230  else
231  base_assert::fail(base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
232  }
233 
235  static void are_equal_ignoring_case(const char* expected, const char* actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
236  static void are_equal_ignoring_case(const char* expected, const char* actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
237  static void are_equal_ignoring_case(const char* expected, const char* actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
238  static void are_equal_ignoring_case(const char* expected, const char* actual, const std::string& message, const tunit::line_info& line_info) {are_equal_ignoring_case(std::string(expected), std::string(actual), message, line_info);}
239 
240  static void are_equal_ignoring_case(const char16_t* expected, const char16_t* actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
241  static void are_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
242  static void are_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
243  static void are_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const std::string& message, const tunit::line_info& line_info) {are_equal_ignoring_case(std::u16string(expected), std::u16string(actual), message, line_info);}
244 
245  static void are_equal_ignoring_case(const char32_t* expected, const char32_t* actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
246  static void are_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
247  static void are_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
248  static void are_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const std::string& message, const tunit::line_info& line_info) {are_equal_ignoring_case(std::u32string(expected), std::u32string(actual), message, line_info);}
249 
250  static void are_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual) {are_equal_ignoring_case(expected, actual, "", line_info());}
251  static void are_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const tunit::line_info& line_info) {are_equal_ignoring_case(expected, actual, "", line_info);}
252  static void are_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const std::string& message) {are_equal_ignoring_case(expected, actual, message, line_info());}
253  static void are_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const std::string& message, const tunit::line_info& line_info) {are_equal_ignoring_case(std::wstring(expected), std::wstring(actual), message, line_info);}
255 
265  static void are_not_equal_ignoring_case(const std::string& expected, const std::string& actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
266 
277  static void are_not_equal_ignoring_case(const std::string& expected, const std::string& actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
278 
289  static void are_not_equal_ignoring_case(const std::string& expected, const std::string& actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
290 
302  static void are_not_equal_ignoring_case(const std::string& expected, const std::string& actual, const std::string& message, const tunit::line_info& line_info) {
303  if (to_lower(actual) != to_lower(expected))
304  assert::succeed(message, line_info);
305  else
306  base_assert::fail("not " + base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
307  }
308 
318  static void are_not_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
319 
330  static void are_not_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
331 
342  static void are_not_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
343 
355  static void are_not_equal_ignoring_case(const std::u16string& expected, const std::u16string& actual, const std::string& message, const tunit::line_info& line_info) {
356  if (to_lower(actual) != to_lower(expected))
357  assert::succeed(message, line_info);
358  else
359  base_assert::fail("not " + base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
360  }
361 
371  static void are_not_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
372 
383  static void are_not_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
384 
395  static void are_not_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
396 
408  static void are_not_equal_ignoring_case(const std::u32string& expected, const std::u32string& actual, const std::string& message, const tunit::line_info& line_info) {
409  if (to_lower(actual) != to_lower(expected))
410  assert::succeed(message, line_info);
411  else
412  base_assert::fail("not " + base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
413  }
414 
424  static void are_not_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
425 
436  static void are_not_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
437 
448  static void are_not_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
449 
461  static void are_not_equal_ignoring_case(const std::wstring& expected, const std::wstring& actual, const std::string& message, const tunit::line_info& line_info) {
462  if (to_lower(actual) != to_lower(expected))
463  assert::succeed(message, line_info);
464  else
465  base_assert::fail("not " + base_assert::to_string(expected)+ ", ignoring case", base_assert::to_string(actual), message, line_info);
466  }
467 
469  static void are_not_equal_ignoring_case(const char* expected, const char* actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
470  static void are_not_equal_ignoring_case(const char* expected, const char* actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
471  static void are_not_equal_ignoring_case(const char* expected, const char* actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
472  static void are_not_equal_ignoring_case(const char* expected, const char* actual, const std::string& message, const tunit::line_info& line_info) {are_not_equal_ignoring_case(std::string(expected), std::string(actual), message, line_info);}
473 
474  static void are_not_equal_ignoring_case(const char16_t* expected, const char16_t* actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
475  static void are_not_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
476  static void are_not_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
477  static void are_not_equal_ignoring_case(const char16_t* expected, const char16_t* actual, const std::string& message, const tunit::line_info& line_info) {are_not_equal_ignoring_case(std::u16string(expected), std::u16string(actual), message, line_info);}
478 
479  static void are_not_equal_ignoring_case(const char32_t* expected, const char32_t* actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
480  static void are_not_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
481  static void are_not_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
482  static void are_not_equal_ignoring_case(const char32_t* expected, const char32_t* actual, const std::string& message, const tunit::line_info& line_info) {are_not_equal_ignoring_case(std::u32string(expected), std::u32string(actual), message, line_info);}
483 
484  static void are_not_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual) {are_not_equal_ignoring_case(expected, actual, "", line_info());}
485  static void are_not_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const tunit::line_info& line_info) {are_not_equal_ignoring_case(expected, actual, "", line_info);}
486  static void are_not_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const std::string& message) {are_not_equal_ignoring_case(expected, actual, message, line_info());}
487  static void are_not_equal_ignoring_case(const wchar_t* expected, const wchar_t* actual, const std::string& message, const tunit::line_info& line_info) {are_not_equal_ignoring_case(std::wstring(expected), std::wstring(actual), message, line_info);}
489 
500  static void contains(const std::string& item, const std::string& string) {contains(item, string, "", line_info());}
501 
513  static void contains(const std::string& item, const std::string& string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
514 
526  static void contains(const std::string& item, const std::string& string, const std::string& message) {contains(item, string, message, line_info());}
527 
540  static void contains(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
541  if (string.find(item) != std::string::npos)
542  assert::succeed(message, line_info);
543  else
544  base_assert::fail("string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
545  }
546 
557  static void contains(const std::u16string& item, const std::u16string& string) {contains(item, string, "", line_info());}
558 
570  static void contains(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
571 
583  static void contains(const std::u16string& item, const std::u16string& string, const std::string& message) {contains(item, string, message, line_info());}
584 
597  static void contains(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
598  if (string.find(item) != std::u16string::npos)
599  assert::succeed(message, line_info);
600  else
601  base_assert::fail("string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
602  }
603 
614  static void contains(const std::u32string& item, const std::u32string& string) {contains(item, string, "", line_info());}
615 
627  static void contains(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
628 
640  static void contains(const std::u32string& item, const std::u32string& string, const std::string& message) {contains(item, string, message, line_info());}
641 
654  static void contains(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
655  if (string.find(item) != std::u32string::npos)
656  assert::succeed(message, line_info);
657  else
658  base_assert::fail("string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
659  }
660 
671  static void contains(const std::wstring& item, const std::wstring& string) {contains(item, string, "", line_info());}
672 
684  static void contains(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
685 
697  static void contains(const std::wstring& item, const std::wstring& string, const std::string& message) {contains(item, string, message, line_info());}
698 
711  static void contains(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
712  if (string.find(item) != std::wstring::npos)
713  assert::succeed(message, line_info);
714  else
715  base_assert::fail("string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
716  }
717 
719  static void contains(const char* item, const char* string) {contains(item, string, "", line_info());}
720  static void contains(const char* item, const char* string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
721  static void contains(const char* item, const char* string, const std::string& message) {contains(item, string, message, line_info());}
722  static void contains(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {contains(std::string(item), std::string(string), message, line_info);}
723 
724  static void contains(const char16_t* item, const char16_t* string) {contains(item, string, "", line_info());}
725  static void contains(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
726  static void contains(const char16_t* item, const char16_t* string, const std::string& message) {contains(item, string, message, line_info());}
727  static void contains(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {contains(std::u16string(item), std::u16string(string), message, line_info);}
728 
729  static void contains(const char32_t* item, const char32_t* string) {contains(item, string, "", line_info());}
730  static void contains(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
731  static void contains(const char32_t* item, const char32_t* string, const std::string& message) {contains(item, string, message, line_info());}
732  static void contains(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {contains(std::u32string(item), std::u32string(string), message, line_info);}
733 
734  static void contains(const wchar_t* item, const wchar_t* string) {contains(item, string, "", line_info());}
735  static void contains(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {contains(item, string, "", line_info);}
736  static void contains(const wchar_t* item, const wchar_t* string, const std::string& message) {contains(item, string, message, line_info());}
737  static void contains(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {contains(std::wstring(item), std::wstring(string), message, line_info);}
739 
750  static void does_not_contain(const std::string& item, const std::string& string) {does_not_contain(item, string, "", line_info());}
751 
763  static void does_not_contain(const std::string& item, const std::string& string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
764 
776  static void does_not_contain(const std::string& item, const std::string& string, const std::string& message) {does_not_contain(item, string, message, line_info());}
777 
790  static void does_not_contain(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
791  if (string.find(item) == std::string::npos)
792  assert::succeed(message, line_info);
793  else
794  base_assert::fail("not string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
795  }
796 
807  static void does_not_contain(const std::u16string& item, const std::u16string& string) {does_not_contain(item, string, "", line_info());}
808 
820  static void does_not_contain(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
821 
833  static void does_not_contain(const std::u16string& item, const std::u16string& string, const std::string& message) {does_not_contain(item, string, message, line_info());}
834 
847  static void does_not_contain(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
848  if (string.find(item) == std::u16string::npos)
849  assert::succeed(message, line_info);
850  else
851  base_assert::fail("not string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
852  }
853 
864  static void does_not_contain(const std::u32string& item, const std::u32string& string) {does_not_contain(item, string, "", line_info());}
865 
877  static void does_not_contain(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
878 
890  static void does_not_contain(const std::u32string& item, const std::u32string& string, const std::string& message) {does_not_contain(item, string, message, line_info());}
891 
904  static void does_not_contain(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
905  if (string.find(item) == std::u32string::npos)
906  assert::succeed(message, line_info);
907  else
908  base_assert::fail("not string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
909  }
910 
921  static void does_not_contain(const std::wstring& item, const std::wstring& string) {does_not_contain(item, string, "", line_info());}
922 
934  static void does_not_contain(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
935 
947  static void does_not_contain(const std::wstring& item, const std::wstring& string, const std::string& message) {does_not_contain(item, string, message, line_info());}
948 
961  static void does_not_contain(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
962  if (string.find(item) == std::wstring::npos)
963  assert::succeed(message, line_info);
964  else
965  base_assert::fail("not string containing " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
966  }
967 
969  static void does_not_contain(const char* item, const char* string) {does_not_contain(item, string, "", line_info());}
970  static void does_not_contain(const char* item, const char* string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
971  static void does_not_contain(const char* item, const char* string, const std::string& message) {does_not_contain(item, string, message, line_info());}
972  static void does_not_contain(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {does_not_contain(std::string(item), std::string(string), message, line_info);}
973 
974  static void does_not_contain(const char16_t* item, const char16_t* string) {does_not_contain(item, string, "", line_info());}
975  static void does_not_contain(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
976  static void does_not_contain(const char16_t* item, const char16_t* string, const std::string& message) {does_not_contain(item, string, message, line_info());}
977  static void does_not_contain(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_contain(std::u16string(item), std::u16string(string), message, line_info);}
978 
979  static void does_not_contain(const char32_t* item, const char32_t* string) {does_not_contain(item, string, "", line_info());}
980  static void does_not_contain(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
981  static void does_not_contain(const char32_t* item, const char32_t* string, const std::string& message) {does_not_contain(item, string, message, line_info());}
982  static void does_not_contain(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_contain(std::u32string(item), std::u32string(string), message, line_info);}
983 
984  static void does_not_contain(const wchar_t* item, const wchar_t* string) {does_not_contain(item, string, "", line_info());}
985  static void does_not_contain(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {does_not_contain(item, string, "", line_info);}
986  static void does_not_contain(const wchar_t* item, const wchar_t* string, const std::string& message) {does_not_contain(item, string, message, line_info());}
987  static void does_not_contain(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_contain(std::wstring(item), std::wstring(string), message, line_info);}
989 
1000  static void starts_with(const std::string& item, const std::string& string) {starts_with(item, string, "", line_info());}
1001 
1013  static void starts_with(const std::string& item, const std::string& string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1014 
1026  static void starts_with(const std::string& item, const std::string& string, const std::string& message) {starts_with(item, string, message, line_info());}
1027 
1040  static void starts_with(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
1041  if (string.find(item) == 0)
1042  assert::succeed(message, line_info);
1043  else
1044  base_assert::fail("string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1045  }
1046 
1057  static void starts_with(const std::u16string& item, const std::u16string& string) {starts_with(item, string, "", line_info());}
1058 
1070  static void starts_with(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1071 
1083  static void starts_with(const std::u16string& item, const std::u16string& string, const std::string& message) {starts_with(item, string, message, line_info());}
1084 
1097  static void starts_with(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
1098  if (string.find(item) == 0)
1099  assert::succeed(message, line_info);
1100  else
1101  base_assert::fail("string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1102  }
1103 
1114  static void starts_with(const std::u32string& item, const std::u32string& string) {starts_with(item, string, "", line_info());}
1115 
1127  static void starts_with(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1128 
1140  static void starts_with(const std::u32string& item, const std::u32string& string, const std::string& message) {starts_with(item, string, message, line_info());}
1141 
1154  static void starts_with(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
1155  if (string.find(item) == 0)
1156  assert::succeed(message, line_info);
1157  else
1158  base_assert::fail("string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1159  }
1160 
1171  static void starts_with(const std::wstring& item, const std::wstring& string) {starts_with(item, string, "", line_info());}
1172 
1184  static void starts_with(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1185 
1197  static void starts_with(const std::wstring& item, const std::wstring& string, const std::string& message) {starts_with(item, string, message, line_info());}
1198 
1211  static void starts_with(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
1212  if (string.find(item) == 0)
1213  assert::succeed(message, line_info);
1214  else
1215  base_assert::fail("string starts with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1216  }
1217 
1219  static void starts_with(const char* item, const char* string) {starts_with(item, string, "", line_info());}
1220  static void starts_with(const char* item, const char* string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1221  static void starts_with(const char* item, const char* string, const std::string& message) {starts_with(item, string, message, line_info());}
1222  static void starts_with(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {starts_with(std::string(item), std::string(string), message, line_info);}
1223 
1224  static void starts_with(const char16_t* item, const char16_t* string) {starts_with(item, string, "", line_info());}
1225  static void starts_with(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1226  static void starts_with(const char16_t* item, const char16_t* string, const std::string& message) {starts_with(item, string, message, line_info());}
1227  static void starts_with(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {starts_with(std::u16string(item), std::u16string(string), message, line_info);}
1228 
1229  static void starts_with(const char32_t* item, const char32_t* string) {starts_with(item, string, "", line_info());}
1230  static void starts_with(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1231  static void starts_with(const char32_t* item, const char32_t* string, const std::string& message) {starts_with(item, string, message, line_info());}
1232  static void starts_with(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {starts_with(std::u32string(item), std::u32string(string), message, line_info);}
1233 
1234  static void starts_with(const wchar_t* item, const wchar_t* string) {starts_with(item, string, "", line_info());}
1235  static void starts_with(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {starts_with(item, string, "", line_info);}
1236  static void starts_with(const wchar_t* item, const wchar_t* string, const std::string& message) {starts_with(item, string, message, line_info());}
1237  static void starts_with(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {starts_with(std::wstring(item), std::wstring(string), message, line_info);}
1239 
1250  static void does_not_start_with(const std::string& item, const std::string& string) {does_not_start_with(item, string, "", line_info());}
1251 
1263  static void does_not_start_with(const std::string& item, const std::string& string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1264 
1276  static void does_not_start_with(const std::string& item, const std::string& string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1277 
1290  static void does_not_start_with(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
1291  if (string.find(item) != 0)
1292  assert::succeed(message, line_info);
1293  else
1294  base_assert::fail("not string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1295  }
1296 
1307  static void does_not_start_with(const std::u16string& item, const std::u16string& string) {does_not_start_with(item, string, "", line_info());}
1308 
1320  static void does_not_start_with(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1321 
1333  static void does_not_start_with(const std::u16string& item, const std::u16string& string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1334 
1347  static void does_not_start_with(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
1348  if (string.find(item) != 0)
1349  assert::succeed(message, line_info);
1350  else
1351  base_assert::fail("not string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1352  }
1353 
1364  static void does_not_start_with(const std::u32string& item, const std::u32string& string) {does_not_start_with(item, string, "", line_info());}
1365 
1377  static void does_not_start_with(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1378 
1390  static void does_not_start_with(const std::u32string& item, const std::u32string& string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1391 
1404  static void does_not_start_with(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
1405  if (string.find(item) != 0)
1406  assert::succeed(message, line_info);
1407  else
1408  base_assert::fail("not string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1409  }
1410 
1421  static void does_not_start_with(const std::wstring& item, const std::wstring& string) {does_not_start_with(item, string, "", line_info());}
1422 
1434  static void does_not_start_with(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1435 
1447  static void does_not_start_with(const std::wstring& item, const std::wstring& string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1448 
1461  static void does_not_start_with(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
1462  if (string.find(item) != 0)
1463  assert::succeed(message, line_info);
1464  else
1465  base_assert::fail("not string starting with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1466  }
1467 
1469  static void does_not_start_with(const char* item, const char* string) {does_not_start_with(item, string, "", line_info());}
1470  static void does_not_start_with(const char* item, const char* string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1471  static void does_not_start_with(const char* item, const char* string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1472  static void does_not_start_with(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {does_not_start_with(std::string(item), std::string(string), message, line_info);}
1473 
1474  static void does_not_start_with(const char16_t* item, const char16_t* string) {does_not_start_with(item, string, "", line_info());}
1475  static void does_not_start_with(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1476  static void does_not_start_with(const char16_t* item, const char16_t* string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1477  static void does_not_start_with(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_start_with(std::u16string(item), std::u16string(string), message, line_info);}
1478 
1479  static void does_not_start_with(const char32_t* item, const char32_t* string) {does_not_start_with(item, string, "", line_info());}
1480  static void does_not_start_with(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1481  static void does_not_start_with(const char32_t* item, const char32_t* string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1482  static void does_not_start_with(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_start_with(std::u32string(item), std::u32string(string), message, line_info);}
1483 
1484  static void does_not_start_with(const wchar_t* item, const wchar_t* string) {does_not_start_with(item, string, "", line_info());}
1485  static void does_not_start_with(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {does_not_start_with(item, string, "", line_info);}
1486  static void does_not_start_with(const wchar_t* item, const wchar_t* string, const std::string& message) {does_not_start_with(item, string, message, line_info());}
1487  static void does_not_start_with(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_start_with(std::wstring(item), std::wstring(string), message, line_info);}
1489 
1500  static void ends_with(const std::string& item, const std::string& string) {ends_with(item, string, "", line_info());}
1501 
1513  static void ends_with(const std::string& item, const std::string& string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1514 
1526  static void ends_with(const std::string& item, const std::string& string, const std::string& message) {ends_with(item, string, message, line_info());}
1527 
1540  static void ends_with(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
1541  if (string.rfind(item) != std::string::npos)
1542  assert::succeed(message, line_info);
1543  else
1544  base_assert::fail("string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1545  }
1546 
1557  static void ends_with(const std::u16string& item, const std::u16string& string) {ends_with(item, string, "", line_info());}
1558 
1570  static void ends_with(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1571 
1583  static void ends_with(const std::u16string& item, const std::u16string& string, const std::string& message) {ends_with(item, string, message, line_info());}
1584 
1597  static void ends_with(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
1598  if (string.rfind(item) != std::u16string::npos)
1599  assert::succeed(message, line_info);
1600  else
1601  base_assert::fail("string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1602  }
1603 
1614  static void ends_with(const std::u32string& item, const std::u32string& string) {ends_with(item, string, "", line_info());}
1615 
1627  static void ends_with(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1628 
1640  static void ends_with(const std::u32string& item, const std::u32string& string, const std::string& message) {ends_with(item, string, message, line_info());}
1641 
1654  static void ends_with(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
1655  if (string.rfind(item) != std::u32string::npos)
1656  assert::succeed(message, line_info);
1657  else
1658  base_assert::fail("string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1659  }
1660 
1671  static void ends_with(const std::wstring& item, const std::wstring& string) {ends_with(item, string, "", line_info());}
1672 
1684  static void ends_with(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1685 
1697  static void ends_with(const std::wstring& item, const std::wstring& string, const std::string& message) {ends_with(item, string, message, line_info());}
1698 
1711  static void ends_with(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
1712  if (string.rfind(item) != std::wstring::npos)
1713  assert::succeed(message, line_info);
1714  else
1715  base_assert::fail("string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1716  }
1717 
1719  static void ends_with(const char* item, const char* string) {ends_with(item, string, "", line_info());}
1720  static void ends_with(const char* item, const char* string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1721  static void ends_with(const char* item, const char* string, const std::string& message) {ends_with(item, string, message, line_info());}
1722  static void ends_with(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {ends_with(std::string(item), std::string(string), message, line_info);}
1723 
1724  static void ends_with(const char16_t* item, const char16_t* string) {ends_with(item, string, "", line_info());}
1725  static void ends_with(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1726  static void ends_with(const char16_t* item, const char16_t* string, const std::string& message) {ends_with(item, string, message, line_info());}
1727  static void ends_with(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {ends_with(std::u16string(item), std::u16string(string), message, line_info);}
1728 
1729  static void ends_with(const char32_t* item, const char32_t* string) {ends_with(item, string, "", line_info());}
1730  static void ends_with(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1731  static void ends_with(const char32_t* item, const char32_t* string, const std::string& message) {ends_with(item, string, message, line_info());}
1732  static void ends_with(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {ends_with(std::u32string(item), std::u32string(string), message, line_info);}
1733 
1734  static void ends_with(const wchar_t* item, const wchar_t* string) {ends_with(item, string, "", line_info());}
1735  static void ends_with(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {ends_with(item, string, "", line_info);}
1736  static void ends_with(const wchar_t* item, const wchar_t* string, const std::string& message) {ends_with(item, string, message, line_info());}
1737  static void ends_with(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {ends_with(std::wstring(item), std::wstring(string), message, line_info);}
1739 
1750  static void does_not_end_with(const std::string& item, const std::string& string) {does_not_end_with(item, string, "", line_info());}
1751 
1763  static void does_not_end_with(const std::string& item, const std::string& string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1764 
1776  static void does_not_end_with(const std::string& item, const std::string& string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1777 
1790  static void does_not_end_with(const std::string& item, const std::string& string, const std::string& message, const tunit::line_info& line_info) {
1791  if (string.rfind(item) == std::string::npos)
1792  assert::succeed(message, line_info);
1793  else
1794  base_assert::fail("not string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1795  }
1796 
1807  static void does_not_end_with(const std::u16string& item, const std::u16string& string) {does_not_end_with(item, string, "", line_info());}
1808 
1820  static void does_not_end_with(const std::u16string& item, const std::u16string& string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1821 
1833  static void does_not_end_with(const std::u16string& item, const std::u16string& string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1834 
1847  static void does_not_end_with(const std::u16string& item, const std::u16string& string, const std::string& message, const tunit::line_info& line_info) {
1848  if (string.rfind(item) == std::u16string::npos)
1849  assert::succeed(message, line_info);
1850  else
1851  base_assert::fail("not string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1852  }
1853 
1864  static void does_not_end_with(const std::u32string& item, const std::u32string& string) {does_not_end_with(item, string, "", line_info());}
1865 
1877  static void does_not_end_with(const std::u32string& item, const std::u32string& string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1878 
1890  static void does_not_end_with(const std::u32string& item, const std::u32string& string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1891 
1904  static void does_not_end_with(const std::u32string& item, const std::u32string& string, const std::string& message, const tunit::line_info& line_info) {
1905  if (string.rfind(item) == std::u32string::npos)
1906  assert::succeed(message, line_info);
1907  else
1908  base_assert::fail("not string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1909  }
1910 
1921  static void does_not_end_with(const std::wstring& item, const std::wstring& string) {does_not_end_with(item, string, "", line_info());}
1922 
1934  static void does_not_end_with(const std::wstring& item, const std::wstring& string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1935 
1947  static void does_not_end_with(const std::wstring& item, const std::wstring& string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1948 
1961  static void does_not_end_with(const std::wstring& item, const std::wstring& string, const std::string& message, const tunit::line_info& line_info) {
1962  if (string.rfind(item) == std::wstring::npos)
1963  assert::succeed(message, line_info);
1964  else
1965  base_assert::fail("not string ending with " + base_assert::to_string(item), base_assert::to_string(string), message, line_info);
1966  }
1967 
1969  static void does_not_end_with(const char* item, const char* string) {does_not_end_with(item, string, "", line_info());}
1970  static void does_not_end_with(const char* item, const char* string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1971  static void does_not_end_with(const char* item, const char* string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1972  static void does_not_end_with(const char* item, const char* string, const std::string& message, const tunit::line_info& line_info) {does_not_end_with(std::string(item), std::string(string), message, line_info);}
1973 
1974  static void does_not_end_with(const char16_t* item, const char16_t* string) {does_not_end_with(item, string, "", line_info());}
1975  static void does_not_end_with(const char16_t* item, const char16_t* string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1976  static void does_not_end_with(const char16_t* item, const char16_t* string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1977  static void does_not_end_with(const char16_t* item, const char16_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_end_with(std::u16string(item), std::u16string(string), message, line_info);}
1978 
1979  static void does_not_end_with(const char32_t* item, const char32_t* string) {does_not_end_with(item, string, "", line_info());}
1980  static void does_not_end_with(const char32_t* item, const char32_t* string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1981  static void does_not_end_with(const char32_t* item, const char32_t* string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1982  static void does_not_end_with(const char32_t* item, const char32_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_end_with(std::u32string(item), std::u32string(string), message, line_info);}
1983 
1984  static void does_not_end_with(const wchar_t* item, const wchar_t* string) {does_not_end_with(item, string, "", line_info());}
1985  static void does_not_end_with(const wchar_t* item, const wchar_t* string, const tunit::line_info& line_info) {does_not_end_with(item, string, "", line_info);}
1986  static void does_not_end_with(const wchar_t* item, const wchar_t* string, const std::string& message) {does_not_end_with(item, string, message, line_info());}
1987  static void does_not_end_with(const wchar_t* item, const wchar_t* string, const std::string& message, const tunit::line_info& line_info) {does_not_end_with(std::wstring(item), std::wstring(string), message, line_info);}
1989 
1999  static void matches(const std::string& regex_pattern, const std::string& actual) {matches(regex_pattern, actual, "", line_info());}
2000 
2011  static void matches(const std::string& regex_pattern, const std::string& actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2012 
2023  static void matches(const std::string& regex_pattern, const std::string& actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2024 
2036  static void matches(const std::string& regex_pattern, const std::string& actual, const std::string& message, const tunit::line_info& line_info) {
2037  std::regex r(regex_pattern);
2038  std::smatch m;
2039  if (std::regex_search(actual, m, r) == true)
2040  assert::succeed(message, line_info);
2041  else
2042  base_assert::fail("string matching " + base_assert::to_string(regex_pattern), base_assert::to_string(actual), message, line_info);
2043  }
2055 
2067 
2079 
2092 
2112 
2124 
2136 
2149 
2161  static void matches(const std::wstring& regex_pattern, const std::wstring& actual) {matches(regex_pattern, actual, "", line_info());}
2171 
2182  static void matches(const std::wstring& regex_pattern, const std::wstring& actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2183 
2194  static void matches(const std::wstring& regex_pattern, const std::wstring& actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2195 
2207  static void matches(const std::wstring& regex_pattern, const std::wstring& actual, const std::string& message, const tunit::line_info& line_info) {
2208  std::wregex r(regex_pattern);
2209  std::wsmatch m;
2210  if (std::regex_search(actual, m, r) == true)
2211  assert::succeed(message, line_info);
2212  else
2213  base_assert::fail("string matching " + base_assert::to_string(regex_pattern), base_assert::to_string(actual), message, line_info);
2214  }
2215 
2217  static void matches(const char* regex_pattern, const char* actual) {matches(regex_pattern, actual, "", line_info());}
2218  static void matches(const char* regex_pattern, const char* actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2219  static void matches(const char* regex_pattern, const char* actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2220  static void matches(const char* regex_pattern, const char* actual, const std::string& message, const tunit::line_info& line_info) {matches(std::string(regex_pattern), std::string(actual), message, line_info);}
2221 
2222  /*
2223  static void matches(const char16_t* regex_pattern, const char16_t* actual) {matches(regex_pattern, actual, "", line_info());}
2224  static void matches(const char16_t* regex_pattern, const char16_t* actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2225  static void matches(const char16_t* regex_pattern, const char16_t* actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2226  static void matches(const char16_t* regex_pattern, const char16_t* actual, const std::string& message, const tunit::line_info& line_info) {matches(std::u16string(regex_pattern), std::u16string(actual), message, line_info);}
2227 
2228  static void matches(const char32_t* regex_pattern, const char32_t* actual) {matches(regex_pattern, actual, "", line_info());}
2229  static void matches(const char32_t* regex_pattern, const char32_t* actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2230  static void matches(const char32_t* regex_pattern, const char32_t* actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2231  static void matches(const char32_t* regex_pattern, const char32_t* actual, const std::string& message, const tunit::line_info& line_info) {matches(std::u32string(regex_pattern), std::u32string(actual), message, line_info);}
2232  */
2233 
2234  static void matches(const wchar_t* regex_pattern, const wchar_t* actual) {matches(regex_pattern, actual, "", line_info());}
2235  static void matches(const wchar_t* regex_pattern, const wchar_t* actual, const tunit::line_info& line_info) {matches(regex_pattern, actual, "", line_info);}
2236  static void matches(const wchar_t* regex_pattern, const wchar_t* actual, const std::string& message) {matches(regex_pattern, actual, message, line_info());}
2237  static void matches(const wchar_t* regex_pattern, const wchar_t* actual, const std::string& message, const tunit::line_info& line_info) {matches(std::wstring(regex_pattern), std::wstring(actual), message, line_info);}
2239 
2249  static void does_not_match(const std::string& regex_pattern, const std::string& actual) {does_not_match(regex_pattern, actual, "", line_info());}
2250 
2261  static void does_not_match(const std::string& regex_pattern, const std::string& actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2262 
2273  static void does_not_match(const std::string& regex_pattern, const std::string& actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2274 
2286  static void does_not_match(const std::string& regex_pattern, const std::string& actual, const std::string& message, const tunit::line_info& line_info) {
2287  std::regex r(regex_pattern);
2288  std::smatch m;
2289  if (std::regex_search(actual, m, r) == false)
2290  assert::succeed(message, line_info);
2291  else
2292  base_assert::fail("not string matching " + base_assert::to_string(regex_pattern), base_assert::to_string(actual), message, line_info);
2293  }
2294 
2306 
2318 
2330 
2343 
2363 
2375 
2387 
2400 
2412  static void does_not_match(const std::wstring& regex_pattern, const std::wstring& actual) {does_not_match(regex_pattern, actual, "", line_info());}
2422 
2433  static void does_not_match(const std::wstring& regex_pattern, const std::wstring& actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2434 
2445  static void does_not_match(const std::wstring& regex_pattern, const std::wstring& actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2446 
2458  static void does_not_match(const std::wstring& regex_pattern, const std::wstring& actual, const std::string& message, const tunit::line_info& line_info) {
2459  std::wregex r(regex_pattern);
2460  std::wsmatch m;
2461  if (std::regex_search(actual, m, r) == false)
2462  assert::succeed(message, line_info);
2463  else
2464  base_assert::fail("not string matching " + base_assert::to_string(regex_pattern), base_assert::to_string(actual), message, line_info);
2465  }
2466 
2468  static void does_not_match(const char* regex_pattern, const char* actual) {does_not_match(regex_pattern, actual, "", line_info());}
2469  static void does_not_match(const char* regex_pattern, const char* actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2470  static void does_not_match(const char* regex_pattern, const char* actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2471  static void does_not_match(const char* regex_pattern, const char* actual, const std::string& message, const tunit::line_info& line_info) {does_not_match(std::string(regex_pattern), std::string(actual), message, line_info);}
2472 
2473  /*
2474  static void does_not_match(const char16_t* regex_pattern, const char16_t* actual) {does_not_match(regex_pattern, actual, "", line_info());}
2475  static void does_not_match(const char16_t* regex_pattern, const char16_t* actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2476  static void does_not_match(const char16_t* regex_pattern, const char16_t* actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2477  static void does_not_match(const char16_t* regex_pattern, const char16_t* actual, const std::string& message, const tunit::line_info& line_info) {does_not_match(std::u16string(regex_pattern), std::u16string(actual), message, line_info);}
2478 
2479  static void does_not_match(const char32_t* regex_pattern, const char32_t* actual) {does_not_match(regex_pattern, actual, "", line_info());}
2480  static void does_not_match(const char32_t* regex_pattern, const char32_t* actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2481  static void does_not_match(const char32_t* regex_pattern, const char32_t* actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2482  static void does_not_match(const char32_t* regex_pattern, const char32_t* actual, const std::string& message, const tunit::line_info& line_info) {does_not_match(std::u32string(regex_pattern), std::u32string(actual), message, line_info);}
2483  */
2484 
2485  static void does_not_match(const wchar_t* regex_pattern, const wchar_t* actual) {does_not_match(regex_pattern, actual, "", line_info());}
2486  static void does_not_match(const wchar_t* regex_pattern, const wchar_t* actual, const tunit::line_info& line_info) {does_not_match(regex_pattern, actual, "", line_info);}
2487  static void does_not_match(const wchar_t* regex_pattern, const wchar_t* actual, const std::string& message) {does_not_match(regex_pattern, actual, message, line_info());}
2488  static void does_not_match(const wchar_t* regex_pattern, const wchar_t* actual, const std::string& message, const tunit::line_info& line_info) {does_not_match(std::wstring(regex_pattern), std::wstring(actual), message, line_info);}
2490 
2491  private:
2492  static std::string to_lower(const std::string& value) {
2493  std::string result;
2494  std::locale lc = std::locale();
2495  for(char c : value) result.push_back(std::tolower(c, lc));
2496  return result;
2497  }
2498  static std::u16string to_lower(const std::u16string& value) {
2499  std::u16string result;
2500  std::locale lc = std::locale();
2501  //for(char16_t c : value) result.push_back(std::tolower(c, lc));
2502  for(char16_t c : value) result.push_back(c <= 0xFF ? static_cast<char16_t>(std::tolower(static_cast<char>(c), lc)) : c);
2503  return result;
2504  }
2505  static std::u32string to_lower(const std::u32string& value) {
2506  std::u32string result;
2507  std::locale lc = std::locale();
2508  //for(char32_t c : value) result.push_back(std::tolower(c, lc));
2509  for(char32_t c : value) result.push_back(c <= 0xFF ? static_cast<char32_t>(std::tolower(static_cast<char>(c), lc)) : c);
2510  return result;
2511  }
2512  static std::wstring to_lower(const std::wstring& value) {
2513  std::wstring result;
2514  std::locale lc = std::locale();
2515  for(wchar_t c : value) result.push_back(std::tolower(c, lc));
2516  return result;
2517  }
2518  };
2519 }
2520 
2521 #define are_equal_ignoring_case_(...) __CMD_ASSERT_ARGS(are_equal_ignoring_case, __VA_ARGS__)
2522 
2523 #define are_not_equal_ignoring_case_(...) __CMD_ASSERT_ARGS(are_not_equal_ignoring_case, __VA_ARGS__)
2524 
2525 #define does_not_end_with_(...) __CMD_ASSERT_ARGS(does_not_end_with, __VA_ARGS__)
2526 
2527 #define does_not_match_(...) __CMD_ASSERT_ARGS(does_not_match, __VA_ARGS__)
2528 
2529 #define does_not_start_with_(...) __CMD_ASSERT_ARGS(does_not_start_with, __VA_ARGS__)
2530 
2531 #define ends_with_(...) __CMD_ASSERT_ARGS(ends_with, __VA_ARGS__)
2532 
2533 #define matches_(...) __CMD_ASSERT_ARGS(matches, __VA_ARGS__)
2534 
2535 #define starts_with_(...) __CMD_ASSERT_ARGS(starts_with, __VA_ARGS__)
static void does_not_start_with(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1434
static void starts_with(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string starts witdh item.
Definition: string_assert.h:1127
static void does_not_contain(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:904
static void does_not_start_with(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1347
static void does_not_start_with(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1263
static void are_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:190
static void are_not_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const std::string &message)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:342
static void are_not_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:461
static void starts_with(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1040
static void does_not_end_with(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string does not end witdh item.
Definition: string_assert.h:1890
static void does_not_contain(const std::string &item, const std::string &string)
Asserts that string contains an item.
Definition: string_assert.h:750
static void does_not_end_with(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string does not end witdh item.
Definition: string_assert.h:1877
static void contains(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:684
static void does_not_end_with(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string does not end witdh item.
Definition: string_assert.h:1947
static void are_not_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:371
static void contains(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:513
static void does_not_contain(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:877
static void does_not_end_with(const std::wstring &item, const std::wstring &string)
Asserts that string does not end witdh item.
Definition: string_assert.h:1921
static void does_not_start_with(const std::wstring &item, const std::wstring &string)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1421
static void does_not_end_with(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does not end witdh item.
Definition: string_assert.h:1847
static void are_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const tunit::line_info &line_info)
Asserts that two type are equal.
Definition: string_assert.h:149
static void are_not_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:318
static void does_not_start_with(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1461
static void are_not_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:436
static void are_not_equal_ignoring_case(const std::string &expected, const std::string &actual)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:265
static void does_not_start_with(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1377
static void does_not_match(const std::wstring &regex_pattern, const std::wstring &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that does not match regex patern.
Definition: string_assert.h:2458
static void contains(const std::string &item, const std::string &string)
Asserts that string contains an item.
Definition: string_assert.h:500
static void are_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:84
static void does_not_start_with(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that srinbg start with item.
Definition: string_assert.h:1320
static void ends_with(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1540
static void ends_with(const std::u16string &item, const std::u16string &string)
Asserts that string starts with item.
Definition: string_assert.h:1557
static void ends_with(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string ends witdh item.
Definition: string_assert.h:1654
static void are_not_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:383
static void does_not_contain(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:763
static void are_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const std::string &message)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:161
static void ends_with(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string ends witdh item.
Definition: string_assert.h:1697
static void does_not_contain(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:961
static void ends_with(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1513
static void are_not_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const std::string &message)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:448
static void ends_with(const std::u32string &item, const std::u32string &string)
Asserts that string ends witdh item.
Definition: string_assert.h:1614
static void does_not_match(const std::wstring &regex_pattern, const std::wstring &actual, const std::string &message)
Asserts that does not match regex patern.
Definition: string_assert.h:2445
static void contains(const std::string &item, const std::string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:526
static void contains(const std::u16string &item, const std::u16string &string)
Asserts that string contains an item.
Definition: string_assert.h:557
static void does_not_end_with(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string does not end witdh item.
Definition: string_assert.h:1934
static void starts_with(const std::wstring &item, const std::wstring &string)
Asserts that string starts witdh item.
Definition: string_assert.h:1171
static void matches(const std::string &regex_pattern, const std::string &actual, const std::string &message)
Asserts that matches regex patern.
Definition: string_assert.h:2023
static void are_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const std::string &message)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:108
static void does_not_start_with(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1447
static void does_not_contain(const std::u16string &item, const std::u16string &string)
Asserts that string contains an item.
Definition: string_assert.h:807
static void does_not_contain(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:934
Contains tunit::assert class.
static void ends_with(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string ends witdh item.
Definition: string_assert.h:1597
static void matches(const std::wstring &regex_pattern, const std::wstring &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that matches regex patern.
Definition: string_assert.h:2207
static void are_not_equal_ignoring_case(const std::string &expected, const std::string &actual, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:277
static void does_not_start_with(const std::u16string &item, const std::u16string &string)
Asserts that string starts with item.
Definition: string_assert.h:1307
static void are_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:137
static void starts_with(const std::string &item, const std::string &string, const std::string &message)
Asserts that string starts with item.
Definition: string_assert.h:1026
static void does_not_contain(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:947
static void ends_with(const std::string &item, const std::string &string, const std::string &message)
Asserts that string starts with item.
Definition: string_assert.h:1526
static void are_equal_ignoring_case(const std::string &expected, const std::string &actual)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:31
static void are_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:202
static void ends_with(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string ends witdh item.
Definition: string_assert.h:1627
static void are_not_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const std::string &message)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:395
static void matches(const std::wstring &regex_pattern, const std::wstring &actual, const std::string &message)
Asserts that matches regex patern.
Definition: string_assert.h:2194
static void are_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:227
static void ends_with(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string ends witdh item.
Definition: string_assert.h:1583
static void contains(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:711
static void contains(const std::wstring &item, const std::wstring &string)
Asserts that string contains an item.
Definition: string_assert.h:671
static void does_not_end_with(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string does not end witdh item.
Definition: string_assert.h:1833
static void does_not_contain(const std::u32string &item, const std::u32string &string)
Asserts that string contains an item.
Definition: string_assert.h:864
static void contains(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:654
static void ends_with(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string ends witdh item.
Definition: string_assert.h:1640
static void are_not_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:330
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_start_with(const std::string &item, const std::string &string)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1250
static void fail()
Throws an tunit::assertion_error exception.
Definition: base_assert.h:60
static void starts_with(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string starts witdh item.
Definition: string_assert.h:1140
static void does_not_start_with(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1290
static void does_not_end_with(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1790
static void contains(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:597
static void does_not_match(const std::string &regex_pattern, const std::string &actual, const std::string &message)
Asserts that does not match regex patern.
Definition: string_assert.h:2273
static void starts_with(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that srinbg start with item.
Definition: string_assert.h:1070
static void does_not_end_with(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does not end witdh item.
Definition: string_assert.h:1961
The string_assert class contains a collection of static methods that implement the most string assert...
Definition: string_assert.h:16
static void matches(const std::string &regex_pattern, const std::string &actual)
Asserts that matches regex patern.
Definition: string_assert.h:1999
static void does_not_end_with(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does not end witdh item.
Definition: string_assert.h:1904
static void does_not_contain(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:820
static void starts_with(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string starts witdh item.
Definition: string_assert.h:1197
static void are_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:96
static void contains(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:540
static void ends_with(const std::string &item, const std::string &string)
Asserts that string ends witdh item.
Definition: string_assert.h:1500
static void ends_with(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that srinbg start with item.
Definition: string_assert.h:1570
static void starts_with(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string starts witdh item.
Definition: string_assert.h:1083
static void does_not_contain(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:890
static void contains(const std::u32string &item, const std::u32string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:627
static void are_not_equal_ignoring_case(const std::string &expected, const std::string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:302
Definition: base_assert.h:15
static void are_equal_ignoring_case(const std::string &expected, const std::string &actual, const std::string &message)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:55
static void starts_with(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts witdh item.
Definition: string_assert.h:1154
static void succeed()
Generates a success with a generic message.
Definition: base_assert.h:130
static void are_not_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:355
static void does_not_start_with(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1333
static void does_not_match(const std::string &regex_pattern, const std::string &actual)
Asserts that does not match regex patern.
Definition: string_assert.h:2249
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
static void does_not_end_with(const std::string &item, const std::string &string, const std::string &message)
Asserts that string starts with item.
Definition: string_assert.h:1776
static void are_equal_ignoring_case(const std::string &expected, const std::string &actual, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:43
static void are_not_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:424
static void are_equal_ignoring_case(const std::u16string &expected, const std::u16string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:121
static void does_not_end_with(const std::u16string &item, const std::u16string &string)
Asserts that string starts with item.
Definition: string_assert.h:1807
static void starts_with(const std::u16string &item, const std::u16string &string)
Asserts that string starts with item.
Definition: string_assert.h:1057
static void does_not_contain(const std::string &item, const std::string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:776
static void are_equal_ignoring_case(const std::wstring &expected, const std::wstring &actual, const std::string &message)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:214
static void does_not_end_with(const std::string &item, const std::string &string)
Asserts that string does not end witdh item.
Definition: string_assert.h:1750
static void starts_with(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts witdh item.
Definition: string_assert.h:1211
static void are_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are equal.
Definition: string_assert.h:174
static void contains(const std::u32string &item, const std::u32string &string)
Asserts that string contains an item.
Definition: string_assert.h:614
static void matches(const std::string &regex_pattern, const std::string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that matches regex patern.
Definition: string_assert.h:2036
static void does_not_end_with(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that srinbg start with item.
Definition: string_assert.h:1820
static void are_not_equal_ignoring_case(const std::u32string &expected, const std::u32string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:408
static void does_not_match(const std::string &regex_pattern, const std::string &actual, const tunit::line_info &line_info)
Asserts that does not match regex patern.
Definition: string_assert.h:2261
static void contains(const std::u16string &item, const std::u16string &string, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:570
static void starts_with(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1013
static void does_not_start_with(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1390
static void starts_with(const std::string &item, const std::string &string)
Asserts that string starts witdh item.
Definition: string_assert.h:1000
static void contains(const std::wstring &item, const std::wstring &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:697
static void does_not_end_with(const std::u32string &item, const std::u32string &string)
Asserts that string does not end witdh item.
Definition: string_assert.h:1864
static void contains(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:583
static void does_not_contain(const std::string &item, const std::string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:790
static void ends_with(const std::wstring &item, const std::wstring &string)
Asserts that string ends witdh item.
Definition: string_assert.h:1671
static void does_not_contain(const std::wstring &item, const std::wstring &string)
Asserts that string contains an item.
Definition: string_assert.h:921
static void does_not_start_with(const std::string &item, const std::string &string, const std::string &message)
Asserts that string starts with item.
Definition: string_assert.h:1276
static void matches(const std::wstring &regex_pattern, const std::wstring &actual, const tunit::line_info &line_info)
Asserts that matches regex patern.
Definition: string_assert.h:2182
static void does_not_contain(const std::u16string &item, const std::u16string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:833
static void matches(const std::string &regex_pattern, const std::string &actual, const tunit::line_info &line_info)
Asserts that matches regex patern.
Definition: string_assert.h:2011
static void starts_with(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string starts witdh item.
Definition: string_assert.h:1184
static void does_not_match(const std::wstring &regex_pattern, const std::wstring &actual, const tunit::line_info &line_info)
Asserts that does not match regex patern.
Definition: string_assert.h:2433
static void starts_with(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string starts witdh item.
Definition: string_assert.h:1097
static void does_not_contain(const std::u16string &item, const std::u16string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string contains an item.
Definition: string_assert.h:847
static void contains(const std::u32string &item, const std::u32string &string, const std::string &message)
Asserts that string contains an item.
Definition: string_assert.h:640
static void starts_with(const std::u32string &item, const std::u32string &string)
Asserts that string starts witdh item.
Definition: string_assert.h:1114
static void are_not_equal_ignoring_case(const std::string &expected, const std::string &actual, const std::string &message)
Asserts that two type are not equal ignoring case.
Definition: string_assert.h:289
static void does_not_start_with(const std::u32string &item, const std::u32string &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1404
static void are_equal_ignoring_case(const std::string &expected, const std::string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that two type are equal ignoring case.
Definition: string_assert.h:68
static void does_not_match(const std::string &regex_pattern, const std::string &actual, const std::string &message, const tunit::line_info &line_info)
Asserts that does not match regex patern.
Definition: string_assert.h:2286
static void does_not_start_with(const std::u32string &item, const std::u32string &string)
Asserts that string does noy start witdh item.
Definition: string_assert.h:1364
static void does_not_end_with(const std::string &item, const std::string &string, const tunit::line_info &line_info)
Asserts that string starts with item.
Definition: string_assert.h:1763
static void ends_with(const std::wstring &item, const std::wstring &string, const std::string &message, const tunit::line_info &line_info)
Asserts that string ends witdh item.
Definition: string_assert.h:1711
static void ends_with(const std::wstring &item, const std::wstring &string, const tunit::line_info &line_info)
Asserts that string ends witdh item.
Definition: string_assert.h:1684