JsonVariant_PrintTo_Tests.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // Copyright Benoit Blanchon 2014-2015
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. #include <gtest/gtest.h>
  7. #include <ArduinoJson.h>
  8. class JsonVariant_PrintTo_Tests : public testing::Test {
  9. protected:
  10. JsonVariant variant;
  11. void outputMustBe(const char *expected) {
  12. char buffer[256] = "";
  13. size_t n = variant.printTo(buffer, sizeof(buffer));
  14. EXPECT_STREQ(expected, buffer);
  15. EXPECT_EQ(strlen(expected), n);
  16. }
  17. };
  18. TEST_F(JsonVariant_PrintTo_Tests, Empty) { outputMustBe(""); }
  19. TEST_F(JsonVariant_PrintTo_Tests, Null) {
  20. variant = static_cast<char *>(0);
  21. outputMustBe("null");
  22. }
  23. TEST_F(JsonVariant_PrintTo_Tests, String) {
  24. variant = "hello";
  25. outputMustBe("\"hello\"");
  26. }
  27. TEST_F(JsonVariant_PrintTo_Tests, DoubleZero) {
  28. variant = 0.0;
  29. outputMustBe("0.00");
  30. }
  31. TEST_F(JsonVariant_PrintTo_Tests, DoubleDefaultDigits) {
  32. variant = 3.14159265358979323846;
  33. outputMustBe("3.14");
  34. }
  35. TEST_F(JsonVariant_PrintTo_Tests, DoubleFourDigits) {
  36. variant = JsonVariant(3.14159265358979323846, 4);
  37. outputMustBe("3.1416");
  38. }
  39. TEST_F(JsonVariant_PrintTo_Tests, Integer) {
  40. variant = 42;
  41. outputMustBe("42");
  42. }
  43. TEST_F(JsonVariant_PrintTo_Tests, Long) {
  44. variant = 42L;
  45. outputMustBe("42");
  46. }
  47. TEST_F(JsonVariant_PrintTo_Tests, Char) {
  48. variant = '*';
  49. outputMustBe("42");
  50. }
  51. TEST_F(JsonVariant_PrintTo_Tests, True) {
  52. variant = true;
  53. outputMustBe("true");
  54. }
  55. TEST_F(JsonVariant_PrintTo_Tests, OneFalse) {
  56. variant = false;
  57. outputMustBe("false");
  58. }