16namespace sequoia::testing
18 template<
class ItemsKeyType,
class ItemProjector,
class Compare>
22 using equivalent_suites_type = std::optional<typename type::suites_map_type>;
23 using equivalent_items_type = std::optional<typename type::items_map_type>;
25 using equivalent_type = std::pair<equivalent_suites_type, equivalent_items_type>;
27 template<test_mode Mode>
30 if(data.selected_suites() && prediction.first)
32 check(equality,
"Selected Suites", logger, data.selected_suites()->begin(), data.selected_suites()->end(), prediction.first->begin(), prediction.first->end());
36 check(equality,
"Selected Suites", logger,
static_cast<bool>(data.selected_suites()),
static_cast<bool>(prediction.first));
39 if(data.selected_items() && prediction.second)
41 check(equality,
"Selected Items", logger, data.selected_items()->begin(), data.selected_items()->end(), prediction.second->begin(), prediction.second->end());
45 check(equality,
"Selected Items", logger,
static_cast<bool>(data.selected_items()),
static_cast<bool>(prediction.second));
bool check(CheckType flavour, std::string description, test_logger< Mode > &logger, Iter first, Sentinel last, PredictionIter predictionFirst, PredictionSentinel predictionLast, tutor< Advisor > advisor={})
The workhorse for comparing the contents of ranges.
Definition: FreeCheckers.hpp:377
Utilities for checking regular semantics.
Utilities for defining a suite of objects, filtered at runtime.
Definition: Suite.hpp:339
Definition: TestLogger.hpp:183
Definition: FreeCheckers.hpp:87
class template, specializations of which implement various comparisons for the specified type.
Definition: FreeCheckers.hpp:78