JsonValue_Cast_Tests.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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(String)
  18. {
  19. setValueAndCheckCast("hello");
  20. }
  21. TEST_METHOD(Integer)
  22. {
  23. setValueAndCheckCast(42);
  24. }
  25. TEST_METHOD(Long)
  26. {
  27. setValueAndCheckCast(42L);
  28. }
  29. TEST_METHOD(Bool)
  30. {
  31. setValueAndCheckCast(true);
  32. setValueAndCheckCast(false);
  33. }
  34. private:
  35. template<typename T>
  36. void setValueAndCheckCast(T expected)
  37. {
  38. value = expected;
  39. T actual = value;
  40. Assert::AreEqual(expected, actual);
  41. }
  42. };
  43. }