1 #include "utils.hpp"
2
3 #include <xyz/openbmc_project/Common/error.hpp>
4
5 #include <gtest/gtest.h>
6
7 namespace phosphor
8 {
9 namespace time
10 {
11 namespace utils
12 {
13
14 using InvalidEnumString = sdbusplus::exception::InvalidEnumString;
15
TEST(TestUtil,strToMode)16 TEST(TestUtil, strToMode)
17 {
18 EXPECT_EQ(Mode::NTP,
19 strToMode("xyz.openbmc_project.Time.Synchronization.Method.NTP"));
20 EXPECT_EQ(
21 Mode::Manual,
22 strToMode("xyz.openbmc_project.Time.Synchronization.Method.Manual"));
23
24 // All unrecognized strings result in InvalidEnumString exception
25 EXPECT_THROW(strToMode(""), InvalidEnumString);
26 EXPECT_THROW(
27 strToMode("xyz.openbmc_project.Time.Synchronization.Method.MANUAL"),
28 InvalidEnumString);
29 EXPECT_THROW(strToMode("whatever"), InvalidEnumString);
30 }
31
TEST(TestUtil,modeToStr)32 TEST(TestUtil, modeToStr)
33 {
34 EXPECT_EQ("xyz.openbmc_project.Time.Synchronization.Method.NTP",
35 modeToStr(Mode::NTP));
36 EXPECT_EQ("xyz.openbmc_project.Time.Synchronization.Method.Manual",
37 modeToStr(Mode::Manual));
38
39 // All unrecognized strings result in exception
40 EXPECT_ANY_THROW(modeToStr(static_cast<Mode>(100)));
41 }
42
43 } // namespace utils
44 } // namespace time
45 } // namespace phosphor
46