xtd 0.2.0
collection_valid.h
Go to the documentation of this file.
1 #pragma once
5 #include "valid.h"
6 #include "collection_assert.h"
7 
9 namespace xtd {
11  namespace tunit {
23  class tunit_export_ collection_valid final : private base_assert {
24  public:
26  collection_valid() = delete;
28 
30 
42  template<typename expected_t, typename collection_t>
43  static void all_items_are_instances_of(const collection_t& collection) {all_items_are_instances_of<expected_t>(collection, "", xtd::diagnostics::stack_frame::empty());}
54  template<typename expected_t, typename collection_t>
55  static void all_items_are_instances_of(const collection_t& collection, const std::string& message) {all_items_are_instances_of<expected_t>(collection, message, xtd::diagnostics::stack_frame::empty());}
66  template<typename expected_t, typename collection_t>
67  static void all_items_are_instances_of(const collection_t& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_instances_of<expected_t>(collection, "", stack_frame);}
78  template<typename expected_t, typename collection_t>
79  static void all_items_are_instances_of(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
80  try {
81  collection_assert::all_items_are_instances_of<expected_t>(collection, message, stack_frame);
82  } catch (...) {
83  error();
84  }
85  }
86 
88  template<typename expected_t, typename item_t>
89  static void all_items_are_instances_of(const std::initializer_list<item_t>& collection) {all_items_are_instances_of<expected_t>(collection, "", xtd::diagnostics::stack_frame::empty());}
90  template<typename expected_t, typename item_t>
91  static void all_items_are_instances_of(const std::initializer_list<item_t>& collection, const std::string& message) {all_items_are_instances_of<expected_t>(collection, message, xtd::diagnostics::stack_frame::empty());}
92  template<typename expected_t, typename item_t>
93  static void all_items_are_instances_of(const std::initializer_list<item_t>& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_instances_of<expected_t>(collection, "", stack_frame);}
94  template<typename expected_t, typename item_t>
95  static void all_items_are_instances_of(const std::initializer_list<item_t>& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
96  try {
97  collection_assert::all_items_are_instances_of<expected_t>(collection, message, stack_frame);
98  } catch (...) {
99  error();
100  }
101  }
103 
116  template<typename collection_t>
117  static void all_items_are_not_null(const collection_t& collection) {all_items_are_not_null(collection, "", xtd::diagnostics::stack_frame::empty());}
130  template<typename collection_t>
131  static void all_items_are_not_null(const collection_t& collection, const std::string& message) {all_items_are_not_null(collection, message, xtd::diagnostics::stack_frame::empty());}
144  template<typename collection_t>
145  static void all_items_are_not_null(const collection_t& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_instances_of(collection, "", stack_frame);}
158  template<typename collection_t>
159  static void all_items_are_not_null(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
160  try {
161  collection_assert::all_items_are_not_null(collection, message, stack_frame);
162  } catch (...) {
163  error();
164  }
165  }
166 
168  template<typename item_t>
169  static void all_items_are_not_null(const std::initializer_list<item_t>& collection) {all_items_are_not_null(collection, "", xtd::diagnostics::stack_frame::empty());}
170  template<typename item_t>
171  static void all_items_are_not_null(const std::initializer_list<item_t>& collection, const std::string& message) {all_items_are_not_null(collection, message, xtd::diagnostics::stack_frame::empty());}
172  template<typename item_t>
173  static void all_items_are_not_null(const std::initializer_list<item_t>& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_instances_of(collection, "", stack_frame);}
174  template<typename item_t>
175  static void all_items_are_not_null(const std::initializer_list<item_t>& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
176  try {
177  collection_assert::all_items_are_not_null(collection, message, stack_frame);
178  } catch (...) {
179  error();
180  }
181  }
183 
195  template<typename collection_t>
196  static void all_items_are_unique(const collection_t& collection) {all_items_are_unique(collection, "", xtd::diagnostics::stack_frame::empty());}
208  template<typename collection_t>
209  static void all_items_are_unique(const collection_t& collection, const std::string& message) {all_items_are_unique(collection, message, xtd::diagnostics::stack_frame::empty());}
221  template<typename collection_t>
222  static void all_items_are_unique(const collection_t& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_unique(collection, "", stack_frame);}
234  template<typename collection_t>
235  static void all_items_are_unique(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
236  try {
237  collection_assert::all_items_are_unique(collection, message, stack_frame);
238  } catch (...) {
239  error();
240  }
241  }
242 
244  template<typename item_t>
245  static void all_items_are_unique(const std::initializer_list<item_t>& collection) {all_items_are_unique(collection, "", xtd::diagnostics::stack_frame::empty());}
246  template<typename item_t>
247  static void all_items_are_unique(const std::initializer_list<item_t>& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_unique(collection, "", stack_frame);}
248  template<typename item_t>
249  static void all_items_are_unique(const std::initializer_list<item_t>& collection, const std::string& message) {all_items_are_unique(collection, message, xtd::diagnostics::stack_frame::empty());}
250  template<typename item_t>
251  static void all_items_are_unique(const std::initializer_list<item_t>& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
252  try {
253  collection_assert::all_items_are_unique(collection, message, stack_frame);
254  } catch (...) {
255  error();
256  }
257  }
259 
270  template<typename expected_t, typename actual_t>
271  static void are_equal(const expected_t& expected, const actual_t& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
282  template<typename expected_t, typename actual_t>
283  static void are_equal(const expected_t& expected, const actual_t& actual, const std::string& message) {are_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
294  template<typename expected_t, typename actual_t>
295  static void are_equal(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equal(expected, actual, "", stack_frame);}
306  template<typename expected_t, typename actual_t>
307  static void are_equal(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
308  try {
309  collection_assert::are_equal(expected, actual, message, stack_frame);
310  } catch (...) {
311  error();
312  }
313  }
314 
316  template<typename item_t>
317  static void are_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
318  template<typename item_t>
319  static void are_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equal(expected, actual, "", stack_frame);}
320  template<typename item_t>
321  static void are_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
322  template<typename item_t>
323  static void are_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
324  try {
325  collection_assert::are_equal(expected, actual, message, stack_frame);
326  } catch (...) {
327  error();
328  }
329  }
330  template<typename collection_t, typename item_t>
331  static void are_equal(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
332  template<typename collection_t, typename item_t>
333  static void are_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equal(expected, actual, "", stack_frame);}
334  template<typename collection_t, typename item_t>
335  static void are_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
336  template<typename collection_t, typename item_t>
337  static void are_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
338  try {
339  collection_assert::are_equal(expected, actual, message, stack_frame);
340  } catch (...) {
341  error();
342  }
343  }
344  template<typename item_t, typename collection_t>
345  static void are_equal(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
346  template<typename item_t, typename collection_t>
347  static void are_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equal(expected, actual, "", stack_frame);}
348  template<typename item_t, typename collection_t>
349  static void are_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {are_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
350  template<typename item_t, typename collection_t>
351  static void are_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
352  try {
353  collection_assert::are_equal(expected, actual, message, stack_frame);
354  } catch (...) {
355  error();
356  }
357  }
359 
370  template<typename expected_t, typename actual_t>
371  static void are_equivalent(const expected_t& expected, const actual_t& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
382  template<typename expected_t, typename actual_t>
383  static void are_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message) {are_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
394  template<typename expected_t, typename actual_t>
395  static void are_equivalent(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equivalent(expected, actual, "", stack_frame);}
406  template<typename expected_t, typename actual_t>
407  static void are_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
408  try {
409  collection_assert::are_equivalent(expected, actual, message, stack_frame);
410  } catch (...) {
411  error();
412  }
413  }
414 
416  template<typename expected_t, typename actual_t>
417  static void are_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
418  template<typename expected_t, typename actual_t>
419  static void are_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equivalent(expected, actual, "", stack_frame);}
420  template<typename expected_t, typename actual_t>
421  static void are_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const std::string& message) {are_equal(are_equivalent, actual, message, xtd::diagnostics::stack_frame::empty());}
422  template<typename expected_t, typename actual_t>
423  static void are_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
424  try {
425  collection_assert::are_equivalent(expected, actual, message, stack_frame);
426  } catch (...) {
427  error();
428  }
429  }
430  template<typename collection_t, typename item_t>
431  static void are_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
432  template<typename collection_t, typename item_t>
433  static void are_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equivalent(expected, actual, "", stack_frame);}
434  template<typename collection_t, typename item_t>
435  static void are_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
436  template<typename collection_t, typename item_t>
437  static void are_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
438  try {
439  collection_assert::are_equivalent(expected, actual, message, stack_frame);
440  } catch (...) {
441  error();
442  }
443  }
444  template<typename item_t, typename collection_t>
445  static void are_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
446  template<typename item_t, typename collection_t>
447  static void are_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_equivalent(expected, actual, "", stack_frame);}
448  template<typename item_t, typename collection_t>
449  static void are_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {are_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
450  template<typename item_t, typename collection_t>
451  static void are_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
452  try {
453  collection_assert::are_equivalent(expected, actual, message, stack_frame);
454  } catch (...) {
455  error();
456  }
457  }
459 
470  template<typename expected_t, typename actual_t>
471  static void are_not_equal(const expected_t& expected, const actual_t& actual) {are_not_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
482  template<typename expected_t, typename actual_t>
483  static void are_not_equal(const expected_t& expected, const actual_t& actual, const std::string& message) {are_not_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
494  template<typename expected_t, typename actual_t>
495  static void are_not_equal(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equal(expected, actual, "", stack_frame);}
506  template<typename expected_t, typename actual_t>
507  static void are_not_equal(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
508  try {
509  collection_assert::are_not_equal(expected, actual, message, stack_frame);
510  } catch (...) {
511  error();
512  }
513  }
514 
516  template<typename item_t>
517  static void are_not_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual) {are_not_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
518  template<typename item_t>
519  static void are_not_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equal(expected, actual, "", stack_frame);}
520  template<typename item_t>
521  static void are_not_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_not_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
522  template<typename item_t>
523  static void are_not_equal(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
524  try {
525  collection_assert::are_not_equal(expected, actual, message, stack_frame);
526  } catch (...) {
527  error();
528  }
529  }
530  template<typename collection_t, typename item_t>
531  static void are_not_equal(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_not_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
532  template<typename collection_t, typename item_t>
533  static void are_not_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equal(expected, actual, "", stack_frame);}
534  template<typename collection_t, typename item_t>
535  static void are_not_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_not_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
536  template<typename collection_t, typename item_t>
537  static void are_not_equal(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
538  try {
539  collection_assert::are_not_equal(expected, actual, message, stack_frame);
540  } catch (...) {
541  error();
542  }
543  }
544  template<typename item_t, typename collection_t>
545  static void are_not_equal(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_not_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
546  template<typename item_t, typename collection_t>
547  static void are_not_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equal(expected, actual, "", stack_frame);}
548  template<typename item_t, typename collection_t>
549  static void are_not_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {are_not_equal(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
550  template<typename item_t, typename collection_t>
551  static void are_not_equal(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
552  try {
553  collection_assert::are_not_equal(expected, actual, message, stack_frame);
554  } catch (...) {
555  error();
556  }
557  }
559 
570  template<typename expected_t, typename actual_t>
571  static void are_not_equivalent(const expected_t& expected, const actual_t& actual) {are_not_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
582  template<typename expected_t, typename actual_t>
583  static void are_not_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message) {are_not_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
594  template<typename expected_t, typename actual_t>
595  static void are_not_equivalent(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equivalent(expected, actual, "", stack_frame);}
606  template<typename expected_t, typename actual_t>
607  static void are_not_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
608  try {
609  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
610  } catch (...) {
611  error();
612  }
613  }
614 
616  template<typename expected_t, typename actual_t>
617  static void are_not_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual) {are_not_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
618  template<typename expected_t, typename actual_t>
619  static void are_not_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equivalent(expected, actual, "", stack_frame);}
620  template<typename expected_t, typename actual_t>
621  static void are_not_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const std::string& message) {are_not_equivalent(are_equivalent, actual, message, xtd::diagnostics::stack_frame::empty());}
622  template<typename expected_t, typename actual_t>
623  static void are_not_equivalent(const std::initializer_list<expected_t>& expected, const std::initializer_list<actual_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
624  try {
625  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
626  } catch (...) {
627  error();
628  }
629  }
630  template<typename collection_t, typename item_t>
631  static void are_not_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_not_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
632  template<typename collection_t, typename item_t>
633  static void are_not_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equivalent(expected, actual, "", stack_frame);}
634  template<typename collection_t, typename item_t>
635  static void are_not_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {are_not_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
636  template<typename collection_t, typename item_t>
637  static void are_not_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
638  try {
639  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
640  } catch (...) {
641  error();
642  }
643  }
644  template<typename item_t, typename collection_t>
645  static void are_not_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_not_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
646  template<typename item_t, typename collection_t>
647  static void are_not_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {are_not_equivalent(expected, actual, "", stack_frame);}
648  template<typename item_t, typename collection_t>
649  static void are_not_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {are_not_equivalent(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
650  template<typename item_t, typename collection_t>
651  static void are_not_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
652  try {
653  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
654  } catch (...) {
655  error();
656  }
657  }
659 
670  template<typename expected_t, typename actual_t>
671  static void contains(const expected_t& expected, const actual_t& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
682  template<typename expected_t, typename actual_t>
683  static void contains(const expected_t& expected, const actual_t& actual, const std::string& message) {contains(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
694  template<typename expected_t, typename actual_t>
695  static void contains(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {contains(expected, actual, "", stack_frame);}
706  template<typename expected_t, typename actual_t>
707  static void contains(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
708  try {
709  collection_assert::contains(expected, actual, message, stack_frame);
710  } catch (...) {
711  error();
712  }
713  }
714 
716  template<typename item_t>
717  static void contains(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
718  template<typename item_t>
719  static void contains(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {contains(expected, actual, "", stack_frame);}
720  template<typename item_t>
721  static void contains(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message) {contains(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
722  template<typename item_t>
723  static void contains(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
724  try {
725  collection_assert::contains(expected, actual, message, stack_frame);
726  } catch (...) {
727  error();
728  }
729  }
730  template<typename collection_t, typename item_t>
731  static void contains(const collection_t& expected, const std::initializer_list<item_t>& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
732  template<typename collection_t, typename item_t>
733  static void contains(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {contains(expected, actual, "", stack_frame);}
734  template<typename collection_t, typename item_t>
735  static void contains(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {contains(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
736  template<typename collection_t, typename item_t>
737  static void contains(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
738  try {
739  collection_assert::contains(expected, actual, message, stack_frame);
740  } catch (...) {
741  error();
742  }
743  }
744  template<typename item_t, typename collection_t>
745  static void contains(const std::initializer_list<item_t>& expected, const collection_t& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
746  template<typename item_t, typename collection_t>
747  static void contains(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {contains(expected, actual, "", stack_frame);}
748  template<typename item_t, typename collection_t>
749  static void contains(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {contains(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
750  template<typename item_t, typename collection_t>
751  static void contains(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
752  try {
753  collection_assert::contains(expected, actual, message, stack_frame);
754  } catch (...) {
755  error();
756  }
757  }
759 
770  template<typename expected_t, typename actual_t>
771  static void does_not_contain(const expected_t& expected, const actual_t& actual) {does_not_contain(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
782  template<typename expected_t, typename actual_t>
783  static void does_not_contain(const expected_t& expected, const actual_t& actual, const std::string& message) {does_not_contain(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
794  template<typename expected_t, typename actual_t>
795  static void does_not_contain(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {does_not_contain(expected, actual, "", stack_frame);}
806  template<typename expected_t, typename actual_t>
807  static void does_not_contain(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
808  try {
809  collection_assert::does_not_contain(expected, actual, message, stack_frame);
810  } catch (...) {
811  error();
812  }
813  }
814 
816  template<typename item_t>
817  static void does_not_contain(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual) {does_not_contain(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
818  template<typename item_t>
819  static void does_not_contain(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {does_not_contain(expected, actual, "", stack_frame);}
820  template<typename item_t>
821  static void does_not_contain(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message) {does_not_contain(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
822  template<typename item_t>
823  static void does_not_contain(const std::initializer_list<item_t>& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
824  try {
825  collection_assert::does_not_contain(expected, actual, message, stack_frame);
826  } catch (...) {
827  error();
828  }
829  }
830  template<typename collection_t, typename item_t>
831  static void does_not_contain(const collection_t& expected, const std::initializer_list<item_t>& actual) {does_not_contain(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
832  template<typename collection_t, typename item_t>
833  static void does_not_contain(const collection_t& expected, const std::initializer_list<item_t>& actual, const xtd::diagnostics::stack_frame& stack_frame) {does_not_contain(expected, actual, "", stack_frame);}
834  template<typename collection_t, typename item_t>
835  static void does_not_contain(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message) {does_not_contain(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
836  template<typename collection_t, typename item_t>
837  static void does_not_contain(const collection_t& expected, const std::initializer_list<item_t>& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
838  try {
839  collection_assert::does_not_contain(expected, actual, message, stack_frame);
840  } catch (...) {
841  error();
842  }
843  }
844  template<typename item_t, typename collection_t>
845  static void does_not_contain(const std::initializer_list<item_t>& expected, const collection_t& actual) {does_not_contain(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
846  template<typename item_t, typename collection_t>
847  static void does_not_contain(const std::initializer_list<item_t>& expected, const collection_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {does_not_contain(expected, actual, "", stack_frame);}
848  template<typename item_t, typename collection_t>
849  static void does_not_contain(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message) {does_not_contain(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
850  template<typename item_t, typename collection_t>
851  static void does_not_contain(const std::initializer_list<item_t>& expected, const collection_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
852  try {
853  collection_assert::does_not_contain(expected, actual, message, stack_frame);
854  } catch (...) {
855  error();
856  }
857  }
859 
869  template<typename value_t>
870  static void is_empty(const value_t& value) {is_empty(value, "", xtd::diagnostics::stack_frame::empty());}
881  template<typename value_t>
882  static void is_empty(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_empty(value, "", stack_frame);}
893  template<typename value_t>
894  static void is_empty(const value_t& value, const std::string& message) {is_empty(value, message, xtd::diagnostics::stack_frame::empty());}
906  template<typename value_t>
907  static void is_empty(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
908  try {
909  collection_assert::is_empty(value, message, stack_frame);
910  } catch (...) {
911  error();
912  }
913  }
914 
916  template<typename value_t>
917  static void is_empty(const std::initializer_list<value_t>& value) {is_empty(value, "", xtd::diagnostics::stack_frame::empty());}
918  template<typename value_t>
919  static void is_empty(const std::initializer_list<value_t>& value, const xtd::diagnostics::stack_frame& stack_frame) {is_empty(value, "", stack_frame);}
920  template<typename value_t>
921  static void is_empty(const std::initializer_list<value_t>& value, const std::string& message) {is_empty(value, message, xtd::diagnostics::stack_frame::empty());}
922  template<typename value_t>
923  static void is_empty(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
924  try {
925  collection_assert::is_empty(value, message, stack_frame);
926  } catch (...) {
927  error();
928  }
929  }
931 
941  template<typename value_t>
942  static void is_not_empty(const value_t& value) {is_not_empty(value, "", xtd::diagnostics::stack_frame::empty());}
953  template<typename value_t>
954  static void is_not_empty(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_not_empty(value, "", stack_frame);}
965  template<typename value_t>
966  static void is_not_empty(const value_t& value, const std::string& message) {is_not_empty(value, message, xtd::diagnostics::stack_frame::empty());}
978  template<typename value_t>
979  static void is_not_empty(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
980  try {
981  collection_assert::is_not_empty(value, message, stack_frame);
982  } catch (...) {
983  error();
984  }
985  }
986 
988  template<typename value_t>
989  static void is_not_empty(const std::initializer_list<value_t>& value) {is_not_empty(value, "", xtd::diagnostics::stack_frame::empty());}
990  template<typename value_t>
991  static void is_not_empty(const std::initializer_list<value_t>& value, const xtd::diagnostics::stack_frame& stack_frame) {is_not_empty(value, "", stack_frame);}
992  template<typename value_t>
993  static void is_not_empty(const std::initializer_list<value_t>& value, const std::string& message) {is_not_empty(value, message, xtd::diagnostics::stack_frame::empty());}
994  template<typename value_t>
995  static void is_not_empty(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
996  try {
997  collection_assert::is_not_empty(value, message, stack_frame);
998  } catch (...) {
999  error();
1000  }
1001  }
1003 
1013  template<typename value_t>
1014  static void is_ordered(const value_t& value) {is_ordered(value, "", xtd::diagnostics::stack_frame::empty());}
1025  template<typename value_t>
1026  static void is_ordered(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_ordered(value, "", stack_frame);}
1037  template<typename value_t>
1038  static void is_ordered(const value_t& value, const std::string& message) {is_ordered(value, message, xtd::diagnostics::stack_frame::empty());}
1050  template<typename value_t>
1051  static void is_ordered(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1052  try {
1053  collection_assert::is_ordered(value, message, stack_frame);
1054  } catch (...) {
1055  error();
1056  }
1057  }
1058 
1060  template<typename value_t>
1061  static void is_ordered(const std::initializer_list<value_t>& value) {is_ordered(value, "", xtd::diagnostics::stack_frame::empty());}
1062  template<typename value_t>
1063  static void is_ordered(const std::initializer_list<value_t>& value, const xtd::diagnostics::stack_frame& stack_frame) {is_ordered(value, "", stack_frame);}
1064  template<typename value_t>
1065  static void is_ordered(const std::initializer_list<value_t>& value, const std::string& message) {is_ordered(value, message, xtd::diagnostics::stack_frame::empty());}
1066  template<typename value_t>
1067  static void is_ordered(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1068  try {
1069  collection_assert::is_ordered(value, message, stack_frame);
1070  } catch (...) {
1071  error();
1072  }
1073  }
1076  };
1077  }
1078 }
static void is_ordered(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection is ordered.
Definition: collection_valid.h:1051
static void are_equivalent(const expected_t &expected, const actual_t &actual)
Asserts that all collection items are equivalent.
Definition: collection_assert.h:393
The base class for assert.
Definition: base_assert.h:29
static void is_empty(const value_t &value, const std::string &message)
Validates that collection contains an item.
Definition: collection_valid.h:894
static void are_equivalent(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are equivalent.
Definition: collection_valid.h:395
static void are_equal(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are equal.
Definition: collection_valid.h:307
static void all_items_are_unique(const collection_t &collection)
Validates that all collection items are unique.
Definition: collection_valid.h:196
static void are_equivalent(const expected_t &expected, const actual_t &actual)
Validates that all collection items are equivalent.
Definition: collection_valid.h:371
static void is_ordered(const value_t &value)
Asserts that collection is ordered.
Definition: collection_assert.h:1096
static void is_empty(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains an item.
Definition: collection_valid.h:907
static void is_ordered(const value_t &value)
Validates that collection is ordered.
Definition: collection_valid.h:1014
static void is_empty(const value_t &value)
Validates that collection contains an item.
Definition: collection_valid.h:870
static void are_not_equivalent(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not equivalent.
Definition: collection_valid.h:595
static void is_not_empty(const value_t &value)
Validates that collection does not contain any item.
Definition: collection_valid.h:942
Contains xtd::tunit::collection_assert class.
static void are_equal(const expected_t &expected, const actual_t &actual)
Asserts that all collection items are equal.
Definition: collection_assert.h:293
static void all_items_are_unique(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are unique.
Definition: collection_valid.h:235
static void contains(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains all items.
Definition: collection_valid.h:707
static void are_not_equal(const expected_t &expected, const actual_t &actual)
Asserts that all collection items are not equal.
Definition: collection_assert.h:509
static void does_not_contain(const expected_t &expected, const actual_t &actual)
Validates that collection contains all items.
Definition: collection_valid.h:771
static void all_items_are_not_null(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not null.
Definition: collection_valid.h:159
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
static void contains(const expected_t &expected, const actual_t &actual)
Asserts that collection contains all items.
Definition: collection_assert.h:725
static void are_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that all collection items are equivalent.
Definition: collection_valid.h:383
static void all_items_are_instances_of(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are of the type supplied or a derived type.
Definition: collection_valid.h:79
static void are_not_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that all collection items are not equivalent.
Definition: collection_valid.h:583
static void contains(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that collection contains all items.
Definition: collection_valid.h:683
The collection_valid class contains a collection of static methods that implement the most collection...
Definition: collection_valid.h:23
static void is_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains an item.
Definition: collection_valid.h:882
static void is_empty(const value_t &value)
Asserts that collection contains an item.
Definition: collection_assert.h:948
static void are_not_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not equal.
Definition: collection_valid.h:495
static void are_not_equal(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that all collection items are not equal.
Definition: collection_valid.h:483
static void are_not_equal(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not equal.
Definition: collection_valid.h:507
static void is_not_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection or traits does not contain any item.
Definition: collection_valid.h:954
static void are_equal(const expected_t &expected, const actual_t &actual)
Validates that all collection items are equal.
Definition: collection_valid.h:271
static void does_not_contain(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains all items.
Definition: collection_valid.h:795
static void is_not_empty(const value_t &value, const std::string &message)
Validates that collection or traits does not contain any item.
Definition: collection_valid.h:966
static void are_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are equal.
Definition: collection_valid.h:295
static void are_not_equivalent(const expected_t &expected, const actual_t &actual)
Asserts that all collection items are not equivalent.
Definition: collection_assert.h:609
static void is_ordered(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection is ordered.
Definition: collection_valid.h:1026
static void all_items_are_not_null(const collection_t &collection, const std::string &message)
Validates that all collection items are not null.
Definition: collection_valid.h:131
static void all_items_are_instances_of(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are of the type supplied or a derived type.
Definition: collection_valid.h:67
static void all_items_are_not_null(const collection_t &collection)
Asserts that all collection items are not null.
Definition: collection_assert.h:124
static void contains(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains all items.
Definition: collection_valid.h:695
static void are_equal(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that all collection items are equal.
Definition: collection_valid.h:283
static void is_not_empty(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection or traits does not contain any item.
Definition: collection_valid.h:979
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
static stack_frame empty() noexcept
Return an empty stack frame.
static void is_ordered(const value_t &value, const std::string &message)
Validates that collection is ordered.
Definition: collection_valid.h:1038
Contains xtd::tunit::valid class.
static void all_items_are_instances_of(const collection_t &collection, const std::string &message)
Validates that all collection items are of the type supplied or a derived type.
Definition: collection_valid.h:55
static void does_not_contain(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that collection contains all items.
Definition: collection_valid.h:807
static void are_not_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not equivalent.
Definition: collection_valid.h:607
static void are_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are equivalent.
Definition: collection_valid.h:407
static void does_not_contain(const expected_t &expected, const actual_t &actual, const std::string &message)
Validates that collection contains all items.
Definition: collection_valid.h:783
static void all_items_are_unique(const collection_t &collection)
Asserts that all collection items are unique.
Definition: collection_assert.h:209
static void all_items_are_instances_of(const collection_t &collection)
Validates that all collection items are of the type supplied or a derived type.
Definition: collection_valid.h:43
static void contains(const expected_t &expected, const actual_t &actual)
Validates that collection contains all items.
Definition: collection_valid.h:671
static void all_items_are_not_null(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are not null.
Definition: collection_valid.h:145
static void are_not_equal(const expected_t &expected, const actual_t &actual)
Validates that all collection items are not equal.
Definition: collection_valid.h:471
static void all_items_are_unique(const collection_t &collection, const std::string &message)
Validates that all collection items are unique.
Definition: collection_valid.h:209
static void all_items_are_not_null(const collection_t &collection)
Validates that all collection items are not null.
Definition: collection_valid.h:117
static void all_items_are_unique(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Validates that all collection items are unique.
Definition: collection_valid.h:222
static void are_not_equivalent(const expected_t &expected, const actual_t &actual)
Validates that all collection items are not equivalent.
Definition: collection_valid.h:571
static void does_not_contain(const expected_t &expected, const actual_t &actual)
Asserts that collection contains all items.
Definition: collection_assert.h:837
static void is_not_empty(const value_t &value)
Asserts that collection does not contain any item.
Definition: collection_assert.h:1022