diff options
Diffstat (limited to 'tests/libntp/atouint.cpp')
-rw-r--r-- | tests/libntp/atouint.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/libntp/atouint.cpp b/tests/libntp/atouint.cpp new file mode 100644 index 000000000000..cc8cc394b840 --- /dev/null +++ b/tests/libntp/atouint.cpp @@ -0,0 +1,40 @@ +#include "libntptest.h" + +class atouintTest : public libntptest { +}; + +TEST_F(atouintTest, RegularPositive) { + const char *str = "305"; + u_long actual; + + ASSERT_TRUE(atouint(str, &actual)); + EXPECT_EQ(305, actual); +} + +TEST_F(atouintTest, PositiveOverflowBoundary) { + const char *str = "4294967296"; + u_long actual; + + ASSERT_FALSE(atouint(str, &actual)); +} + +TEST_F(atouintTest, PositiveOverflowBig) { + const char *str = "8000000000"; + u_long actual; + + ASSERT_FALSE(atouint(str, &actual)); +} + +TEST_F(atouintTest, Negative) { + const char *str = "-1"; + u_long actual; + + ASSERT_FALSE(atouint(str, &actual)); +} + +TEST_F(atouintTest, IllegalChar) { + const char *str = "50c3"; + u_long actual; + + ASSERT_FALSE(atouint(str, &actual)); +} |