Issue67.cpp 955 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright Benoit Blanchon 2014-2016
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. // If you like this project, please add a star!
  7. #include <gtest/gtest.h>
  8. #include <ArduinoJson.h>
  9. class Issue67 : public testing::Test {
  10. public:
  11. void whenInputIs(double value) { _variant = value; }
  12. void outputMustBe(const char* expected) {
  13. char buffer[1024];
  14. _variant.printTo(buffer, sizeof(buffer));
  15. ASSERT_STREQ(expected, buffer);
  16. }
  17. private:
  18. JsonVariant _variant;
  19. };
  20. TEST_F(Issue67, BigPositiveDouble) {
  21. whenInputIs(1e100);
  22. outputMustBe("1e+100");
  23. }
  24. TEST_F(Issue67, BigNegativeDouble) {
  25. whenInputIs(-1e100);
  26. outputMustBe("-1e+100");
  27. }
  28. TEST_F(Issue67, Zero) {
  29. whenInputIs(0.0);
  30. outputMustBe("0.00");
  31. }
  32. TEST_F(Issue67, SmallPositiveDouble) {
  33. whenInputIs(111.111);
  34. outputMustBe("111.11");
  35. }
  36. TEST_F(Issue67, SmallNegativeDouble) {
  37. whenInputIs(-111.111);
  38. outputMustBe("-111.11");
  39. }