diff options
author | Norbert Preining <norbert@preining.info> | 2023-07-08 03:01:46 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-07-08 03:01:46 +0000 |
commit | eeed32591ed8e985fd458c43d976027ad679d682 (patch) | |
tree | 1a5db64fc7b9df26f2887acbde587aed73315604 /dviware/dvisvgm/tests/UtilityTest.cpp | |
parent | 2178d699db60492a15e11c107f17da33543af865 (diff) |
CTAN sync 202307080301
Diffstat (limited to 'dviware/dvisvgm/tests/UtilityTest.cpp')
-rw-r--r-- | dviware/dvisvgm/tests/UtilityTest.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dviware/dvisvgm/tests/UtilityTest.cpp b/dviware/dvisvgm/tests/UtilityTest.cpp index 4c920e417c..f5fda4a35b 100644 --- a/dviware/dvisvgm/tests/UtilityTest.cpp +++ b/dviware/dvisvgm/tests/UtilityTest.cpp @@ -188,3 +188,38 @@ TEST(UtilityTest, ilog2) { EXPECT_EQ(ilog2(uint32_t(0xffffffff >> i)), 31-i); } } + + +TEST(UtilityTest, read_double) { + istringstream iss("123 -456 .123 -.456 0.123 -0.456 +123.456 -123.456 10e-3 -1e-3 4.5e2 1.23e-3 2.30.4"); + double value=0; + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 123.0, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, -456.0, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, .123, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, -.456, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, .123, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, -.456, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 123.456, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, -123.456, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 10e-3, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, -1e-3, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 4.5e2, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 1.23e-3, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, 2.3, 0.000001); + EXPECT_TRUE(util::read_double(iss, value)); + EXPECT_NEAR(value, .4, 0.000001); + EXPECT_FALSE(util::read_double(iss, value)); // eof, no further characters to read +}
\ No newline at end of file |