From eeed32591ed8e985fd458c43d976027ad679d682 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 8 Jul 2023 03:01:46 +0000 Subject: CTAN sync 202307080301 --- dviware/dvisvgm/tests/UtilityTest.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'dviware/dvisvgm/tests/UtilityTest.cpp') 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 -- cgit v1.2.3