base: Add enum to_number tests
[gem5.git] / src / base / str.test.cc
index a064a87cbfce2636501f41fe9e580b8ef9f7b554..f0cd483ab849936d22d5f77f375212bd46b04d6b 100644 (file)
@@ -301,6 +301,30 @@ TEST(StrTest, ToNumber64BitIntInvalidString)
     EXPECT_FALSE(to_number(input, output));
 }
 
+TEST(StrTest, ToNumberEnum)
+{
+    enum Number
+    {
+        TWO=2,
+    };
+    Number output;
+    std::string input = "2";
+    EXPECT_TRUE(to_number(input, output));
+    EXPECT_EQ(TWO, output);
+}
+
+/** Test that trying to convert a number to an enum that is not valid fails. */
+TEST(StrTest, DISABLED_ToNumberEnumInvalid)
+{
+    enum Number
+    {
+        TWO=2,
+    };
+    Number output;
+    std::string input = "3";
+    EXPECT_FALSE(to_number(input, output));
+}
+
 TEST(StrTest, ToNumberFloat)
 {
     float output;