#include "helpers.hpp" #include "utils/transform.hpp" #include #include #include using namespace testing; TEST(TestTransform, transformsVector) { std::vector input = {1, 2, 3}; std::vector output = utils::transform(input, [](int v) { return std::to_string(v); }); EXPECT_TRUE(utils::detail::has_member_reserve); EXPECT_TRUE(utils::detail::has_member_reserve); ASSERT_THAT(output, ElementsAre("1", "2", "3")); } TEST(TestTransform, transformsSet) { std::set input = {1, 2, 3}; std::set output = utils::transform(input, [](int v) { return std::to_string(v); }); EXPECT_FALSE(utils::detail::has_member_reserve); EXPECT_FALSE(utils::detail::has_member_reserve); ASSERT_THAT(output, ElementsAre("1", "2", "3")); } TEST(TestTransform, transformsArrayToVector) { std::array input = {1, 2, 3}; std::vector output = utils::transform>( input, [](int v) { return std::to_string(v); }); EXPECT_FALSE(utils::detail::has_member_reserve); EXPECT_TRUE(utils::detail::has_member_reserve); ASSERT_THAT(output, ElementsAre("1", "2", "3")); }