xref: /openbmc/telemetry/tests/src/test_transform.cpp (revision e6d4887453f0b23b46c012da7cb26f2beb38ef0e)
1 #include "helpers.hpp"
2 #include "utils/transform.hpp"
3 
4 #include <set>
5 #include <vector>
6 
7 #include <gmock/gmock.h>
8 
9 using namespace testing;
10 
11 TEST(TestTransform, transformsVector)
12 {
13     std::vector<int> input = {1, 2, 3};
14     std::vector<std::string> output =
15         utils::transform(input, [](int v) { return std::to_string(v); });
16     EXPECT_TRUE(utils::detail::has_member_reserve_v<std::vector<std::string>>);
17     ASSERT_THAT(output, ElementsAre("1", "2", "3"));
18 }
19 
20 TEST(TestTransform, transformsSet)
21 {
22     std::set<int> input = {1, 2, 3};
23     std::set<std::string> output =
24         utils::transform(input, [](int v) { return std::to_string(v); });
25     EXPECT_FALSE(utils::detail::has_member_reserve_v<std::set<std::string>>);
26     ASSERT_THAT(output, ElementsAre("1", "2", "3"));
27 }
28