diff --git a/test/scan-test.cc b/test/scan-test.cc index 03b26e5d..d4f9e413 100644 --- a/test/scan-test.cc +++ b/test/scan-test.cc @@ -58,6 +58,22 @@ TEST(scan_test, read_hex) { fmt::format_error, "number is too big"); } +TEST(scan_test, read_floats) { + auto float_result = fmt::scan("3.14", "{}"); + EXPECT_TRUE(float_result); + EXPECT_FLOAT_EQ(float_result->value(), 3.14f); + + auto double_result = fmt::scan("3.14", "{}"); + EXPECT_TRUE(double_result); + EXPECT_DOUBLE_EQ(double_result->value(), 3.14); +} + +TEST(scan_test, read_double_whitespace) { + auto result = fmt::scan(" 2.5 ", "{}"); + EXPECT_TRUE(result); + EXPECT_DOUBLE_EQ(result->value(), 2.5); +} + TEST(scan_test, read_string) { EXPECT_EQ(fmt::scan("foo", "{}")->value(), "foo"); }