summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-05-17 18:34:13 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-05-18 12:26:51 +0200
commitc5fc7f1980814a1063773e6c876dad66b7909adf (patch)
treeccfb86db993eca6b0ebc0b4df6f58ae80327e38f /test
parent002393bdead2f036982ea3adb8a13a3d58f3428a (diff)
downloadqtlocation-mapboxgl-c5fc7f1980814a1063773e6c876dad66b7909adf.tar.gz
[core] use rapidjson's dtoa implementation to stringify floating point numbers
Diffstat (limited to 'test')
-rw-r--r--test/test.gypi1
-rw-r--r--test/util/number_conversions.cpp55
2 files changed, 56 insertions, 0 deletions
diff --git a/test/test.gypi b/test/test.gypi
index 5c04262644..51e4a2e621 100644
--- a/test/test.gypi
+++ b/test/test.gypi
@@ -25,6 +25,7 @@
'util/mapbox.cpp',
'util/merge_lines.cpp',
'util/run_loop.cpp',
+ 'util/number_conversions.cpp',
'util/text_conversions.cpp',
'util/thread.cpp',
'util/thread_local.cpp',
diff --git a/test/util/number_conversions.cpp b/test/util/number_conversions.cpp
new file mode 100644
index 0000000000..cfeda3eec7
--- /dev/null
+++ b/test/util/number_conversions.cpp
@@ -0,0 +1,55 @@
+#include <iostream>
+#include <mbgl/test/util.hpp>
+
+#include <mbgl/util/string.hpp>
+
+using namespace mbgl;
+
+TEST(NumberConversions, number_to_string) {
+ EXPECT_EQ("0", util::toString(0));
+ EXPECT_EQ("10", util::toString(10));
+ EXPECT_EQ("-10", util::toString(-10));
+ EXPECT_EQ("10", util::toString(10.0));
+ EXPECT_EQ("-10", util::toString(-10.0));
+
+ EXPECT_EQ("1", util::toString(1));
+ EXPECT_EQ("-1", util::toString(-1));
+ EXPECT_EQ("32768", util::toString(32768));
+ EXPECT_EQ("-32768", util::toString(-32768));
+
+ EXPECT_EQ("1", util::toString(1.000000));
+ EXPECT_EQ("-1", util::toString(-1.000000));
+ EXPECT_EQ("32768", util::toString(32768.000000));
+ EXPECT_EQ("-32768", util::toString(-32768.000000));
+
+ EXPECT_EQ("1.01", util::toString(1.01));
+ EXPECT_EQ("-1.01", util::toString(-1.01));
+ EXPECT_EQ("32768.01", util::toString(32768.01));
+ EXPECT_EQ("-32768.01", util::toString(-32768.01));
+
+ EXPECT_EQ("1.01", util::toString(1.0100));
+ EXPECT_EQ("-1.01", util::toString(-1.0100));
+ EXPECT_EQ("32768.01", util::toString(32768.0100));
+ EXPECT_EQ("-32768.01", util::toString(-32768.0100));
+
+ EXPECT_EQ("1.123456", util::toString(1.123456));
+ EXPECT_EQ("-1.123456", util::toString(-1.123456));
+ EXPECT_EQ("32768.123456", util::toString(32768.123456));
+ EXPECT_EQ("-32768.123456", util::toString(-32768.123456));
+
+ EXPECT_EQ("1.123456789", util::toString(1.123456789));
+ EXPECT_EQ("-1.123456789", util::toString(-1.123456789));
+ EXPECT_EQ("32768.123456789", util::toString(32768.123456789));
+ EXPECT_EQ("-32768.123456789", util::toString(-32768.123456789));
+
+ EXPECT_EQ("3.141592653589793", util::toString(3.1415926535897932385128089594061862044327426701784));
+ EXPECT_EQ("-3.141592653589793", util::toString(-3.1415926535897932385128089594061862044327426701784));
+
+ EXPECT_EQ("123456789", util::toString(123456789));
+
+ EXPECT_EQ("0.0000532", util::toString((long double)5.32e-5));
+ EXPECT_EQ("5.32e-40", util::toString((long double)5.32e-40));
+
+ EXPECT_EQ("10", util::toString(unsigned(10)));
+ EXPECT_EQ("10", util::toString(unsigned(10.0)));
+}