JsonValue_Cast_Tests.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Arduino JSON library
  3. * Benoit Blanchon 2014 - MIT License
  4. */
  5. #include "CppUnitTest.h"
  6. #include "StringBuilder.h"
  7. #include "JsonValue.h"
  8. using namespace Microsoft::VisualStudio::CppUnitTestFramework;
  9. using namespace ArduinoJson::Generator;
  10. using namespace ArduinoJson::Internals;
  11. namespace JsonGeneratorTests
  12. {
  13. TEST_CLASS(JsonValue_Cast_Tests)
  14. {
  15. JsonValue value;
  16. public:
  17. TEST_METHOD(Bool)
  18. {
  19. setValueAndCheckCast(true);
  20. setValueAndCheckCast(false);
  21. }
  22. TEST_METHOD(Double)
  23. {
  24. setValueAndCheckCast(3.14156);
  25. }
  26. TEST_METHOD(Float)
  27. {
  28. setValueAndCheckCast(3.14f);
  29. }
  30. TEST_METHOD(Integer)
  31. {
  32. setValueAndCheckCast(42);
  33. }
  34. TEST_METHOD(Long)
  35. {
  36. setValueAndCheckCast(42L);
  37. }
  38. TEST_METHOD(String)
  39. {
  40. setValueAndCheckCast("hello");
  41. }
  42. private:
  43. template<typename T>
  44. void setValueAndCheckCast(T expected)
  45. {
  46. value = expected;
  47. T actual = value;
  48. Assert::AreEqual(expected, actual);
  49. }
  50. };
  51. }