#include #include #include using namespace alsk; using tmp::Pack; TEST_CASE("ArgType") { using P = Pack; using R = Pack; using X = Pack; using Placeholders = arg::Placeholders; REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same>{}); } TEST_CASE("ArgGet") { std::tuple p{0, 1, 2}; std::tuple r{3, 4, 5}; std::tuple x{6, 7}; REQUIRE(std::get<0>(p) == ArgGet>::get(p, r, x)); REQUIRE(std::get<1>(p) == ArgGet>::get(p, r, x)); REQUIRE(std::get<2>(p) == ArgGet>::get(p, r, x)); REQUIRE(std::get<0>(r) == ArgGet>::get(p, r, x)); REQUIRE(std::get<1>(r) == ArgGet>::get(p, r, x)); REQUIRE(std::get<2>(r) == ArgGet>::get(p, r, x)); REQUIRE(std::get<1>(x) == ArgGet::get(p, r, x)); } TEST_CASE("PRFilter") {} TEST_CASE("RealType") { using P = Pack; using R = Pack; using X = Pack; using Placeholders = arg::Placeholders; REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same, Placeholders>>{}); REQUIRE(std::is_same>{}); REQUIRE(std::is_same>{}); } TEST_CASE("RealSignature") { using P = Pack; using R = Pack; using X = Pack; using Placeholders = arg::Placeholders; using S = int&(arg::P<0>, arg::R<1>, arg::P<2>, arg::RNG, struct _); using Q = std::function; REQUIRE(std::is_same>{}); } TEST_CASE("Returns") {} TEST_CASE("Execute") {}