base: Add enum to_number tests

Add a test to convert a string containing a number into enums.

One of the tests has been disabled to highlight an error-prone
situation where a number that is not a valid enum manages to
be converted to an enum.

Change-Id: I7967c62feea335f3ffda40d8bf0334c20b53ee6c
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41334
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
This commit is contained in:
Daniel R. Carvalho
2021-02-12 11:55:46 -03:00
committed by Daniel Carvalho
parent de4487f848
commit 5a47a830d3

View 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;