JsonObjectTests.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <gtest/gtest.h>
  2. #include <StaticJsonBuffer.h>
  3. #include <JsonValue.h>
  4. class JsonObjectTests : public ::testing::Test
  5. {
  6. protected:
  7. virtual void SetUp()
  8. {
  9. object = json.createObject();
  10. }
  11. StaticJsonBuffer<42> json;
  12. JsonObject object;
  13. };
  14. TEST_F(JsonObjectTests, Grow_WhenValuesAreAdded)
  15. {
  16. object["hello"];
  17. EXPECT_EQ(1, object.size());
  18. object["world"];
  19. EXPECT_EQ(2, object.size());
  20. }
  21. TEST_F(JsonObjectTests, DoNotGrow_WhenSameValueIsAdded)
  22. {
  23. object["hello"];
  24. EXPECT_EQ(1, object.size());
  25. object["hello"];
  26. EXPECT_EQ(1, object.size());
  27. }
  28. TEST_F(JsonObjectTests, CanStoreIntegers)
  29. {
  30. object["hello"] = 123;
  31. object["world"] = 456;
  32. EXPECT_EQ(123, (int) object["hello"]);
  33. EXPECT_EQ(456, (int) object["world"]);
  34. }
  35. TEST_F(JsonObjectTests, CanStoreDoubles)
  36. {
  37. object["hello"] = 123.45;
  38. object["world"] = 456.78;
  39. EXPECT_EQ(123.45, (double) object["hello"]);
  40. EXPECT_EQ(456.78, (double) object["world"]);
  41. }
  42. TEST_F(JsonObjectTests, CanStoreBooleans)
  43. {
  44. object["hello"] = true;
  45. object["world"] = false;
  46. EXPECT_TRUE((bool) object["hello"]);
  47. EXPECT_FALSE((bool) object["world"]);
  48. }
  49. TEST_F(JsonObjectTests, CanStoreStrings)
  50. {
  51. object["hello"] = "h3110";
  52. object["world"] = "w0r1d";
  53. EXPECT_STREQ("h3110", (const char*) object["hello"]);
  54. EXPECT_STREQ("w0r1d", (const char*) object["world"]);
  55. }