#include <mettle.hpp> using namespace mettle; #include <sstream> suite<> test_tuple_alg("tuple algorithms", [](auto &_) { subsuite<>(_, "tuple_for_until()", [](auto &_) { using detail::tuple_for_until; _.test("empty tuple", []() { std::tuple<> tup; std::size_t count = 0; tuple_for_until(tup, [&count](auto &&) { count++; return false; }); expect("number of iterations", count, equal_to(0)); }); _.test("1-tuple", []() { std::tuple<int> tup(1); std::size_t count = 0; tuple_for_until(tup, [&count](auto &&item) { expect("tuple value", item, equal_to(1)); count++; return false; }); expect("number of iterations", count, equal_to(1)); });