JsonArray_Container_Tests.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include <gtest/gtest.h>
  2. #include <StaticJsonBuffer.h>
  3. #include <JsonValue.h>
  4. class JsonArray_Container_Tests : public ::testing::Test
  5. {
  6. protected:
  7. virtual void SetUp()
  8. {
  9. array = json.createArray();
  10. }
  11. StaticJsonBuffer<42> json;
  12. JsonArray array;
  13. };
  14. TEST_F(JsonArray_Container_Tests, InitialSizeIsZero)
  15. {
  16. EXPECT_EQ(0, array.size());
  17. }
  18. TEST_F(JsonArray_Container_Tests, Grow_WhenValuesAreAdded)
  19. {
  20. array.add("hello");
  21. EXPECT_EQ(1, array.size());
  22. array.add("world");
  23. EXPECT_EQ(2, array.size());
  24. }
  25. TEST_F(JsonArray_Container_Tests, CanStoreIntegers)
  26. {
  27. array.add(123);
  28. array.add(456);
  29. EXPECT_EQ(123, (int) array[0]);
  30. EXPECT_EQ(456, (int) array[1]);
  31. }
  32. TEST_F(JsonArray_Container_Tests, CanStoreDoubles)
  33. {
  34. array.add(123.45);
  35. array.add(456.78);
  36. EXPECT_EQ(123.45, (double) array[0]);
  37. EXPECT_EQ(456.78, (double) array[1]);
  38. }
  39. TEST_F(JsonArray_Container_Tests, CanStoreBooleans)
  40. {
  41. array.add(true);
  42. array.add(false);
  43. EXPECT_TRUE((bool) array[0]);
  44. EXPECT_FALSE((bool) array[1]);
  45. }
  46. TEST_F(JsonArray_Container_Tests, CanStoreStrings)
  47. {
  48. array.add("h3110");
  49. array.add("w0r1d");
  50. EXPECT_STREQ("h3110", (const char*) array[0]);
  51. EXPECT_STREQ("w0r1d", (const char*) array[1]);
  52. }
  53. TEST_F(JsonArray_Container_Tests, CanStoreInnerArrays)
  54. {
  55. JsonArray innerarray1 = json.createArray();
  56. JsonArray innerarray2 = json.createArray();
  57. array.add(innerarray1);
  58. array.add(innerarray2);
  59. EXPECT_EQ(innerarray1, (JsonArray) array[0]);
  60. EXPECT_EQ(innerarray2, (JsonArray) array[1]);
  61. }
  62. TEST_F(JsonArray_Container_Tests, CanStoreInnerObjects)
  63. {
  64. JsonObject innerObject1 = json.createObject();
  65. JsonObject innerObject2 = json.createObject();
  66. array.add(innerObject1);
  67. array.add(innerObject2);
  68. EXPECT_EQ(innerObject1, (JsonObject) array[0]);
  69. EXPECT_EQ(innerObject2, (JsonObject) array[1]);
  70. }