xtd 0.2.0
collection_assume.h
Go to the documentation of this file.
1 #pragma once
5 #include "assume.h"
6 #include "collection_assert.h"
7 
9 namespace xtd {
11  namespace tunit {
22  class tunit_export_ collection_assume final : private base_assert {
23  public:
25  collection_assume() = delete;
27 
29 
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());}
55  template<typename expected_t, typename collection_t>
56  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());}
68  template<typename expected_t, typename collection_t>
69  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);}
81  template<typename expected_t, typename collection_t>
82  static void all_items_are_instances_of(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
83  try {
84  collection_assert::all_items_are_instances_of<expected_t>(collection, message, stack_frame);
85  } catch (...) {
86  assert::abort();
87  }
88  }
89 
91  template<typename expected_t, typename item_t>
92  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());}
93  template<typename expected_t, typename item_t>
94  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());}
95  template<typename expected_t, typename item_t>
96  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);}
97  template<typename expected_t, typename item_t>
98  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) {
99  try {
100  collection_assert::all_items_are_instances_of<expected_t>(collection, message, stack_frame);
101  } catch (...) {
102  assert::abort();
103  }
104  }
106 
120  template<typename collection_t>
121  static void all_items_are_not_null(const collection_t& collection) {all_items_are_not_null(collection, "", xtd::diagnostics::stack_frame::empty());}
135  template<typename collection_t>
136  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());}
150  template<typename collection_t>
151  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);}
165  template<typename collection_t>
166  static void all_items_are_not_null(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
167  try {
168  collection_assert::all_items_are_not_null(collection, message, stack_frame);
169  } catch (...) {
170  assert::abort();
171  }
172  }
173 
175  template<typename item_t>
176  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());}
177  template<typename item_t>
178  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());}
179  template<typename item_t>
180  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);}
181  template<typename item_t>
182  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) {
183  try {
184  collection_assert::all_items_are_not_null(collection, message, stack_frame);
185  } catch (...) {
186  assert::abort();
187  }
188  }
190 
203  template<typename collection_t>
204  static void all_items_are_unique(const collection_t& collection) {all_items_are_unique(collection, "", xtd::diagnostics::stack_frame::empty());}
217  template<typename collection_t>
218  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());}
231  template<typename collection_t>
232  static void all_items_are_unique(const collection_t& collection, const xtd::diagnostics::stack_frame& stack_frame) {all_items_are_unique(collection, "", stack_frame);}
245  template<typename collection_t>
246  static void all_items_are_unique(const collection_t& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
247  try {
248  collection_assert::all_items_are_unique(collection, message, stack_frame);
249  } catch (...) {
250  assert::abort();
251  }
252  }
253 
255  template<typename item_t>
256  static void all_items_are_unique(const std::initializer_list<item_t>& collection) {all_items_are_unique(collection, "", xtd::diagnostics::stack_frame::empty());}
257  template<typename item_t>
258  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);}
259  template<typename item_t>
260  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());}
261  template<typename item_t>
262  static void all_items_are_unique(const std::initializer_list<item_t>& collection, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
263  try {
264  collection_assert::all_items_are_unique(collection, message, stack_frame);
265  } catch (...) {
266  assert::abort();
267  }
268  }
270 
282  template<typename expected_t, typename actual_t>
283  static void are_equal(const expected_t& expected, const actual_t& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
295  template<typename expected_t, typename actual_t>
296  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());}
308  template<typename expected_t, typename actual_t>
309  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);}
321  template<typename expected_t, typename actual_t>
322  static void are_equal(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
323  try {
324  collection_assert::are_equal(expected, actual, message, stack_frame);
325  } catch (...) {
326  assert::abort();
327  }
328  }
329 
331  template<typename item_t>
332  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());}
333  template<typename item_t>
334  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);}
335  template<typename item_t>
336  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());}
337  template<typename item_t>
338  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) {
339  try {
340  collection_assert::are_equal(expected, actual, message, stack_frame);
341  } catch (...) {
342  assert::abort();
343  }
344  }
345  template<typename collection_t, typename item_t>
346  static void are_equal(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
347  template<typename collection_t, typename item_t>
348  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);}
349  template<typename collection_t, typename item_t>
350  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());}
351  template<typename collection_t, typename item_t>
352  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) {
353  try {
354  collection_assert::are_equal(expected, actual, message, stack_frame);
355  } catch (...) {
356  assert::abort();
357  }
358  }
359  template<typename item_t, typename collection_t>
360  static void are_equal(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
361  template<typename item_t, typename collection_t>
362  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);}
363  template<typename item_t, typename collection_t>
364  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());}
365  template<typename item_t, typename collection_t>
366  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) {
367  try {
368  collection_assert::are_equal(expected, actual, message, stack_frame);
369  } catch (...) {
370  assert::abort();
371  }
372  }
374 
386  template<typename expected_t, typename actual_t>
387  static void are_equivalent(const expected_t& expected, const actual_t& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
399  template<typename expected_t, typename actual_t>
400  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());}
412  template<typename expected_t, typename actual_t>
413  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);}
425  template<typename expected_t, typename actual_t>
426  static void are_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
427  try {
428  collection_assert::are_equivalent(expected, actual, message, stack_frame);
429  } catch (...) {
430  assert::abort();
431  }
432  }
433 
435  template<typename expected_t, typename actual_t>
436  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());}
437  template<typename expected_t, typename actual_t>
438  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);}
439  template<typename expected_t, typename actual_t>
440  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());}
441  template<typename expected_t, typename actual_t>
442  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) {
443  try {
444  collection_assert::are_equivalent(expected, actual, message, stack_frame);
445  } catch (...) {
446  assert::abort();
447  }
448  }
449  template<typename collection_t, typename item_t>
450  static void are_equivalent(const collection_t& expected, const std::initializer_list<item_t>& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
451  template<typename collection_t, typename item_t>
452  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);}
453  template<typename collection_t, typename item_t>
454  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());}
455  template<typename collection_t, typename item_t>
456  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) {
457  try {
458  collection_assert::are_equivalent(expected, actual, message, stack_frame);
459  } catch (...) {
460  assert::abort();
461  }
462  }
463  template<typename item_t, typename collection_t>
464  static void are_equivalent(const std::initializer_list<item_t>& expected, const collection_t& actual) {are_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
465  template<typename item_t, typename collection_t>
466  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);}
467  template<typename item_t, typename collection_t>
468  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());}
469  template<typename item_t, typename collection_t>
470  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) {
471  try {
472  collection_assert::are_equivalent(expected, actual, message, stack_frame);
473  } catch (...) {
474  assert::abort();
475  }
476  }
478 
490  template<typename expected_t, typename actual_t>
491  static void are_not_equal(const expected_t& expected, const actual_t& actual) {are_not_equal(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
503  template<typename expected_t, typename actual_t>
504  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());}
516  template<typename expected_t, typename actual_t>
517  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);}
529  template<typename expected_t, typename actual_t>
530  static void are_not_equal(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
531  try {
532  collection_assert::are_not_equal(expected, actual, message, stack_frame);
533  } catch (...) {
534  assert::abort();
535  }
536  }
537 
539  template<typename item_t>
540  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());}
541  template<typename item_t>
542  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);}
543  template<typename item_t>
544  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());}
545  template<typename item_t>
546  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) {
547  try {
548  collection_assert::are_not_equal(expected, actual, message, stack_frame);
549  } catch (...) {
550  assert::abort();
551  }
552  }
553  template<typename collection_t, typename item_t>
554  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());}
555  template<typename collection_t, typename item_t>
556  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);}
557  template<typename collection_t, typename item_t>
558  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());}
559  template<typename collection_t, typename item_t>
560  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) {
561  try {
562  collection_assert::are_not_equal(expected, actual, message, stack_frame);
563  } catch (...) {
564  assert::abort();
565  }
566  }
567  template<typename item_t, typename collection_t>
568  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());}
569  template<typename item_t, typename collection_t>
570  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);}
571  template<typename item_t, typename collection_t>
572  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());}
573  template<typename item_t, typename collection_t>
574  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) {
575  try {
576  collection_assert::are_not_equal(expected, actual, message, stack_frame);
577  } catch (...) {
578  assert::abort();
579  }
580  }
582 
594  template<typename expected_t, typename actual_t>
595  static void are_not_equivalent(const expected_t& expected, const actual_t& actual) {are_not_equivalent(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
607  template<typename expected_t, typename actual_t>
608  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());}
620  template<typename expected_t, typename actual_t>
621  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);}
633  template<typename expected_t, typename actual_t>
634  static void are_not_equivalent(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
635  try {
636  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
637  } catch (...) {
638  assert::abort();
639  }
640  }
641 
643  template<typename expected_t, typename actual_t>
644  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());}
645  template<typename expected_t, typename actual_t>
646  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);}
647  template<typename expected_t, typename actual_t>
648  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());}
649  template<typename expected_t, typename actual_t>
650  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) {
651  try {
652  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
653  } catch (...) {
654  assert::abort();
655  }
656  }
657  template<typename collection_t, typename item_t>
658  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());}
659  template<typename collection_t, typename item_t>
660  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);}
661  template<typename collection_t, typename item_t>
662  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());}
663  template<typename collection_t, typename item_t>
664  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) {
665  try {
666  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
667  } catch (...) {
668  assert::abort();
669  }
670  }
671  template<typename item_t, typename collection_t>
672  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());}
673  template<typename item_t, typename collection_t>
674  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);}
675  template<typename item_t, typename collection_t>
676  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());}
677  template<typename item_t, typename collection_t>
678  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) {
679  try {
680  collection_assert::are_not_equivalent(expected, actual, message, stack_frame);
681  } catch (...) {
682  assert::abort();
683  }
684  }
686 
698  template<typename expected_t, typename actual_t>
699  static void contains(const expected_t& expected, const actual_t& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
711  template<typename expected_t, typename actual_t>
712  static void contains(const expected_t& expected, const actual_t& actual, const std::string& message) {contains(expected, actual, message, xtd::diagnostics::stack_frame::empty());}
724  template<typename expected_t, typename actual_t>
725  static void contains(const expected_t& expected, const actual_t& actual, const xtd::diagnostics::stack_frame& stack_frame) {contains(expected, actual, "", stack_frame);}
737  template<typename expected_t, typename actual_t>
738  static void contains(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
739  try {
740  collection_assert::contains(expected, actual, message, stack_frame);
741  } catch (...) {
742  assert::abort();
743  }
744  }
745 
747  template<typename item_t>
748  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());}
749  template<typename item_t>
750  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);}
751  template<typename item_t>
752  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());}
753  template<typename item_t>
754  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) {
755  try {
756  collection_assert::contains(expected, actual, message, stack_frame);
757  } catch (...) {
758  assert::abort();
759  }
760  }
761  template<typename collection_t, typename item_t>
762  static void contains(const collection_t& expected, const std::initializer_list<item_t>& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
763  template<typename collection_t, typename item_t>
764  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);}
765  template<typename collection_t, typename item_t>
766  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());}
767  template<typename collection_t, typename item_t>
768  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) {
769  try {
770  collection_assert::contains(expected, actual, message, stack_frame);
771  } catch (...) {
772  assert::abort();
773  }
774  }
775  template<typename item_t, typename collection_t>
776  static void contains(const std::initializer_list<item_t>& expected, const collection_t& actual) {contains(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
777  template<typename item_t, typename collection_t>
778  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);}
779  template<typename item_t, typename collection_t>
780  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());}
781  template<typename item_t, typename collection_t>
782  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) {
783  try {
784  collection_assert::contains(expected, actual, message, stack_frame);
785  } catch (...) {
786  assert::abort();
787  }
788  }
790 
802  template<typename expected_t, typename actual_t>
803  static void does_not_contain(const expected_t& expected, const actual_t& actual) {does_not_contain(expected, actual, "", xtd::diagnostics::stack_frame::empty());}
815  template<typename expected_t, typename actual_t>
816  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());}
828  template<typename expected_t, typename actual_t>
829  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);}
841  template<typename expected_t, typename actual_t>
842  static void does_not_contain(const expected_t& expected, const actual_t& actual, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
843  try {
844  collection_assert::does_not_contain(expected, actual, message, stack_frame);
845  } catch (...) {
846  assert::abort();
847  }
848  }
849 
851  template<typename item_t>
852  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());}
853  template<typename item_t>
854  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);}
855  template<typename item_t>
856  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());}
857  template<typename item_t>
858  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) {
859  try {
860  collection_assert::does_not_contain(expected, actual, message, stack_frame);
861  } catch (...) {
862  assert::abort();
863  }
864  }
865  template<typename collection_t, typename item_t>
866  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());}
867  template<typename collection_t, typename item_t>
868  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);}
869  template<typename collection_t, typename item_t>
870  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());}
871  template<typename collection_t, typename item_t>
872  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) {
873  try {
874  collection_assert::does_not_contain(expected, actual, message, stack_frame);
875  } catch (...) {
876  assert::abort();
877  }
878  }
879  template<typename item_t, typename collection_t>
880  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());}
881  template<typename item_t, typename collection_t>
882  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);}
883  template<typename item_t, typename collection_t>
884  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());}
885  template<typename item_t, typename collection_t>
886  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) {
887  try {
888  collection_assert::does_not_contain(expected, actual, message, stack_frame);
889  } catch (...) {
890  assert::abort();
891  }
892  }
894 
905  template<typename value_t>
906  static void is_empty(const value_t& value) {is_empty(value, "", xtd::diagnostics::stack_frame::empty());}
918  template<typename value_t>
919  static void is_empty(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_empty(value, "", stack_frame);}
931  template<typename value_t>
932  static void is_empty(const value_t& value, const std::string& message) {is_empty(value, message, xtd::diagnostics::stack_frame::empty());}
945  template<typename value_t>
946  static void is_empty(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
947  try {
948  collection_assert::is_empty(value, message, stack_frame);
949  } catch (...) {
950  assert::abort();
951  }
952  }
953 
955  template<typename value_t>
956  static void is_empty(const std::initializer_list<value_t>& value) {is_empty(value, "", xtd::diagnostics::stack_frame::empty());}
957  template<typename value_t>
958  static void is_empty(const std::initializer_list<value_t>& value, const xtd::diagnostics::stack_frame& stack_frame) {is_empty(value, "", stack_frame);}
959  template<typename value_t>
960  static void is_empty(const std::initializer_list<value_t>& value, const std::string& message) {is_empty(value, message, xtd::diagnostics::stack_frame::empty());}
961  template<typename value_t>
962  static void is_empty(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
963  try {
964  collection_assert::is_empty(value, message, stack_frame);
965  } catch (...) {
966  assert::abort();
967  }
968  }
970 
981  template<typename value_t>
982  static void is_not_empty(const value_t& value) {is_not_empty(value, "", xtd::diagnostics::stack_frame::empty());}
994  template<typename value_t>
995  static void is_not_empty(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_not_empty(value, "", stack_frame);}
1007  template<typename value_t>
1008  static void is_not_empty(const value_t& value, const std::string& message) {is_not_empty(value, message, xtd::diagnostics::stack_frame::empty());}
1021  template<typename value_t>
1022  static void is_not_empty(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1023  try {
1024  collection_assert::is_not_empty(value, message, stack_frame);
1025  } catch (...) {
1026  assert::abort();
1027  }
1028  }
1029 
1031  template<typename value_t>
1032  static void is_not_empty(const std::initializer_list<value_t>& value) {is_not_empty(value, "", xtd::diagnostics::stack_frame::empty());}
1033  template<typename value_t>
1034  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);}
1035  template<typename value_t>
1036  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());}
1037  template<typename value_t>
1038  static void is_not_empty(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1039  try {
1040  collection_assert::is_not_empty(value, message, stack_frame);
1041  } catch (...) {
1042  assert::abort();
1043  }
1044  }
1046 
1057  template<typename value_t>
1058  static void is_ordered(const value_t& value) {is_ordered(value, "", xtd::diagnostics::stack_frame::empty());}
1070  template<typename value_t>
1071  static void is_ordered(const value_t& value, const xtd::diagnostics::stack_frame& stack_frame) {is_ordered(value, "", stack_frame);}
1083  template<typename value_t>
1084  static void is_ordered(const value_t& value, const std::string& message) {is_ordered(value, message, xtd::diagnostics::stack_frame::empty());}
1097  template<typename value_t>
1098  static void is_ordered(const value_t& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1099  try {
1100  collection_assert::is_ordered(value, message, stack_frame);
1101  } catch (...) {
1102  assert::abort();
1103  }
1104  }
1105 
1107  template<typename value_t>
1108  static void is_ordered(const std::initializer_list<value_t>& value) {is_ordered(value, "", xtd::diagnostics::stack_frame::empty());}
1109  template<typename value_t>
1110  static void is_ordered(const std::initializer_list<value_t>& value, const xtd::diagnostics::stack_frame& stack_frame) {is_ordered(value, "", stack_frame);}
1111  template<typename value_t>
1112  static void is_ordered(const std::initializer_list<value_t>& value, const std::string& message) {is_ordered(value, message, xtd::diagnostics::stack_frame::empty());}
1113  template<typename value_t>
1114  static void is_ordered(const std::initializer_list<value_t>& value, const std::string& message, const xtd::diagnostics::stack_frame& stack_frame) {
1115  try {
1116  collection_assert::is_ordered(value, message, stack_frame);
1117  } catch (...) {
1118  assert::abort();
1119  }
1120  }
1123  };
1124  }
1125 }
static void contains(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains all items.
Definition: collection_assume.h:725
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_ordered(const value_t &value)
Asserts that collection is ordered.
Definition: collection_assert.h:1096
static void is_ordered(const value_t &value)
Assumes that collection is ordered.
Definition: collection_assume.h:1058
Contains xtd::tunit::collection_assert class.
static void are_equal(const expected_t &expected, const actual_t &actual)
Assumes that all collection items are equal.
Definition: collection_assume.h:283
static void contains(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains all items.
Definition: collection_assume.h:738
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_instances_of(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are of the type supplied or a derived type.
Definition: collection_assume.h:69
static void is_ordered(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection is ordered.
Definition: collection_assume.h:1071
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 are_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that all collection items are equivalent.
Definition: collection_assume.h:400
static void all_items_are_unique(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are unique.
Definition: collection_assume.h:246
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
static void is_ordered(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection is ordered.
Definition: collection_assume.h:1098
static void are_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are equivalent.
Definition: collection_assume.h:426
static void does_not_contain(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that collection contains all items.
Definition: collection_assume.h:816
static void are_equivalent(const expected_t &expected, const actual_t &actual)
Assumes that all collection items are equivalent.
Definition: collection_assume.h:387
static void contains(const expected_t &expected, const actual_t &actual)
Asserts that collection contains all items.
Definition: collection_assert.h:725
static void all_items_are_unique(const collection_t &collection, const std::string &message)
Assumes that all collection items are unique.
Definition: collection_assume.h:218
static void all_items_are_not_null(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are not null.
Definition: collection_assume.h:151
static void are_not_equivalent(const expected_t &expected, const actual_t &actual)
Assumes that all collection items are not equivalent.
Definition: collection_assume.h:595
static void is_not_empty(const value_t &value)
Assumes that collection does not contain any item.
Definition: collection_assume.h:982
static void contains(const expected_t &expected, const actual_t &actual)
Assumes that ollection contains all items.
Definition: collection_assume.h:699
static void are_not_equal(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that all collection items are not equal.
Definition: collection_assume.h:504
static void abort()
Abort current test. This is used by the other assert functions.
static void is_not_empty(const value_t &value, const std::string &message)
Assumes that collection or traits does not contain any item.
Definition: collection_assume.h:1008
static void all_items_are_unique(const collection_t &collection)
Assumes that all collection items are unique.
Definition: collection_assume.h:204
static void are_equal(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that all collection items are equal.
Definition: collection_assume.h:296
static void are_not_equal(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items arenot equal.
Definition: collection_assume.h:530
static void is_empty(const value_t &value)
Asserts that collection contains an item.
Definition: collection_assert.h:948
static void all_items_are_instances_of(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are of the type supplied or a derived type.
Definition: collection_assume.h:82
static void are_equivalent(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are equivalent.
Definition: collection_assume.h:413
The collection_assume class contains a collection of static methods that implement the most collectio...
Definition: collection_assume.h:22
static void are_not_equal(const expected_t &expected, const actual_t &actual)
Assumes that all collection items are not equal.
Definition: collection_assume.h:491
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 all_items_are_instances_of(const collection_t &collection)
Assumes that all collection items are of the type supplied or a derived type.
Definition: collection_assume.h:43
static void are_not_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that all collection items are not equivalent.
Definition: collection_assume.h:608
Contains xtd::tunit::assume class.
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 are_not_equivalent(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are not equivalent.
Definition: collection_assume.h:634
static void is_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains an item.
Definition: collection_assume.h:919
static void all_items_are_not_null(const collection_t &collection)
Assumes that all collection items are not null.
Definition: collection_assume.h:121
static void are_not_equivalent(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are not equivalent.
Definition: collection_assume.h:621
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 does_not_contain(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains all items.
Definition: collection_assume.h:842
static void is_empty(const value_t &value)
Assumes that collection contains an item.
Definition: collection_assume.h:906
static void contains(const expected_t &expected, const actual_t &actual, const std::string &message)
Assumes that collection contains all items.
Definition: collection_assume.h:712
static void is_empty(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains an item.
Definition: collection_assume.h:946
static void all_items_are_instances_of(const collection_t &collection, const std::string &message)
Assumes that all collection items are of the type supplied or a derived type.
Definition: collection_assume.h:56
static void are_not_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are not equal.
Definition: collection_assume.h:517
static void all_items_are_not_null(const collection_t &collection, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are not null.
Definition: collection_assume.h:166
static void is_ordered(const value_t &value, const std::string &message)
Assumes that collection is ordered.
Definition: collection_assume.h:1084
static void all_items_are_unique(const collection_t &collection, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are unique.
Definition: collection_assume.h:232
static void are_equal(const expected_t &expected, const actual_t &actual, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are equal.
Definition: collection_assume.h:322
static void all_items_are_unique(const collection_t &collection)
Asserts that all collection items are unique.
Definition: collection_assert.h:209
static void does_not_contain(const expected_t &expected, const actual_t &actual)
Assumes that collection contains all items.
Definition: collection_assume.h:803
static void is_empty(const value_t &value, const std::string &message)
Assumes that collection contains an item.
Definition: collection_assume.h:932
static void are_equal(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that all collection items are equal.
Definition: collection_assume.h:309
static void is_not_empty(const value_t &value, const std::string &message, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection or traits does not contain any item.
Definition: collection_assume.h:1022
static void does_not_contain(const expected_t &expected, const actual_t &actual, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection contains all items.
Definition: collection_assume.h:829
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
static void all_items_are_not_null(const collection_t &collection, const std::string &message)
Assumes that all collection items are not null.
Definition: collection_assume.h:136
static void is_not_empty(const value_t &value, const xtd::diagnostics::stack_frame &stack_frame)
Assumes that collection or traits does not contain any item.
Definition: collection_assume.h:995