xtd 0.2.0
string_assert.h
Go to the documentation of this file.
1 #pragma once
5 #include <xtd/ustring>
6 #include "assert.h"
7 #include <locale>
8 #include <cstring>
9 #include <regex>
10 
12 namespace xtd {
14  namespace tunit {
27  class tunit_export_ string_assert final : private base_assert {
28  public:
30  string_assert() = delete;
32 
34 
45  static void are_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual);
56  static void are_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::diagnostics::stack_frame& stack_frame);
67  static void are_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::ustring& message);
79  static void are_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
80 
90  static void are_not_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual);
101  static void are_not_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::diagnostics::stack_frame& stack_frame);
112  static void are_not_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::ustring& message);
124  static void are_not_equal_ignoring_case(const xtd::ustring& expected, const xtd::ustring& actual, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
125 
136  static void contains(const xtd::ustring& item, const xtd::ustring& string);
148  static void contains(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
160  static void contains(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
173  static void contains(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
174 
185  static void does_not_contain(const xtd::ustring& item, const xtd::ustring& string);
197  static void does_not_contain(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
209  static void does_not_contain(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
222  static void does_not_contain(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
223 
234  static void does_not_end_with(const xtd::ustring& item, const xtd::ustring& string);
246  static void does_not_end_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
258  static void does_not_end_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
271  static void does_not_end_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
272 
282  static void does_not_match(const xtd::ustring& regex_pattern, const xtd::ustring& actual);
293  static void does_not_match(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::diagnostics::stack_frame& stack_frame);
304  static void does_not_match(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::ustring& message);
316  static void does_not_match(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
317 
328  static void does_not_start_with(const xtd::ustring& item, const xtd::ustring& string);
340  static void does_not_start_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
352  static void does_not_start_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
365  static void does_not_start_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
366 
377  static void ends_with(const xtd::ustring& item, const xtd::ustring& string);
389  static void ends_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
401  static void ends_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
414  static void ends_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
415 
425  static void matches(const xtd::ustring& regex_pattern, const xtd::ustring& actual);
436  static void matches(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::diagnostics::stack_frame& stack_frame);
447  static void matches(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::ustring& message);
459  static void matches(const xtd::ustring& regex_pattern, const xtd::ustring& actual, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
460 
471  static void starts_with(const xtd::ustring& item, const xtd::ustring& string);
483  static void starts_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::diagnostics::stack_frame& stack_frame);
495  static void starts_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message);
508  static void starts_with(const xtd::ustring& item, const xtd::ustring& string, const xtd::ustring& message, const xtd::diagnostics::stack_frame& stack_frame);
510  };
511  }
512 }
513 
530 #define are_equal_ignoring_case_(...) __CMD_ASSERT_ARGS(are_equal_ignoring_case, __VA_ARGS__)
531 
548 #define are_not_equal_ignoring_case_(...) __CMD_ASSERT_ARGS(are_not_equal_ignoring_case, __VA_ARGS__)
549 
567 #define does_not_end_with_(...) __CMD_ASSERT_ARGS(does_not_end_with, __VA_ARGS__)
568 
585 #define does_not_match_(...) __CMD_ASSERT_ARGS(does_not_match, __VA_ARGS__)
586 
604 #define does_not_start_with_(...) __CMD_ASSERT_ARGS(does_not_start_with, __VA_ARGS__)
605 
623 #define ends_with_(...) __CMD_ASSERT_ARGS(ends_with, __VA_ARGS__)
624 
641 #define matches_(...) __CMD_ASSERT_ARGS(matches, __VA_ARGS__)
642 
660 #define starts_with_(...) __CMD_ASSERT_ARGS(starts_with, __VA_ARGS__)
The base class for assert.
Definition: base_assert.h:29
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
The string_assert class contains a collection of static methods that implement the most string assert...
Definition: string_assert.h:27
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
Contains xtd::tunit::assert class.