JsonString.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2021
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonString") {
  7. SECTION("Default constructor creates a null JsonString") {
  8. JsonString s;
  9. CHECK(s.isNull() == true);
  10. CHECK(s.c_str() == 0);
  11. CHECK(s.isStatic() == true);
  12. }
  13. SECTION("Compare null with boolean") {
  14. JsonString s;
  15. CHECK(bool(s) == false);
  16. CHECK(false == bool(s));
  17. CHECK(bool(s) != true);
  18. CHECK(true != bool(s));
  19. }
  20. SECTION("Compare non-null with boolean") {
  21. JsonString s("hello");
  22. CHECK(bool(s) == true);
  23. CHECK(true == bool(s));
  24. CHECK(bool(s) != false);
  25. CHECK(false != bool(s));
  26. }
  27. SECTION("Compare null with null") {
  28. JsonString a, b;
  29. CHECK(a == b);
  30. CHECK_FALSE(a != b);
  31. }
  32. SECTION("Compare null with non-null") {
  33. JsonString a(0), b("hello");
  34. CHECK_FALSE(a == b);
  35. CHECK(a != b);
  36. }
  37. SECTION("Compare non-null with null") {
  38. JsonString a("hello"), b(0);
  39. CHECK_FALSE(a == b);
  40. CHECK(a != b);
  41. }
  42. SECTION("Compare different strings") {
  43. JsonString a("hello"), b("world");
  44. CHECK_FALSE(a == b);
  45. CHECK(a != b);
  46. }
  47. SECTION("Compare identical by pointer") {
  48. JsonString a("hello"), b("hello");
  49. CHECK(a == b);
  50. CHECK_FALSE(a != b);
  51. }
  52. SECTION("Compare identical by value") {
  53. char s1[] = "hello";
  54. char s2[] = "hello";
  55. JsonString a(s1), b(s2);
  56. CHECK(a == b);
  57. CHECK_FALSE(a != b);
  58. }
  59. }