TestHashTableExample.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "CppUnitTest.h"
  2. #include "JsonParser.h"
  3. #include <string>
  4. using namespace std;
  5. using namespace Microsoft::VisualStudio::CppUnitTestFramework;
  6. namespace ArduinoJsonParserTests
  7. {
  8. TEST_CLASS(TestHashTableExample)
  9. {
  10. char json[128];
  11. JsonParser<32> parser;
  12. JsonHashTable hashTable;
  13. public:
  14. TEST_METHOD_INITIALIZE(Initialize)
  15. {
  16. strcpy(json, "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}");
  17. hashTable = parser.parseHashTable(json);
  18. }
  19. TEST_METHOD(HashTable_Success_ReturnsTrue)
  20. {
  21. Assert::IsTrue(hashTable.success());
  22. }
  23. TEST_METHOD(HashTable_GetString_ReturnsExpectedValue)
  24. {
  25. string name = hashTable.getString("Name");
  26. Assert::AreEqual(name, string("Blanchon"));
  27. }
  28. TEST_METHOD(HashTable_GetArray_ReturnsExpectedValue)
  29. {
  30. JsonArray skills = hashTable.getArray("Skills");
  31. string skill0 = skills.getString(0);
  32. Assert::AreEqual(skill0, string("C"));
  33. string skill1 = skills.getString(1);
  34. Assert::AreEqual(skill1, string("C++"));
  35. string skill2 = skills.getString(2);
  36. Assert::AreEqual(skill2, string("C#"));
  37. }
  38. TEST_METHOD(HashTable_GetLong_ReturnsExpectedValue)
  39. {
  40. int age = hashTable.getLong("Age");
  41. Assert::AreEqual(32, age);
  42. }
  43. TEST_METHOD(HashTable_GetBool_ReturnsExpectedValue)
  44. {
  45. bool online = hashTable.getBool("Online");
  46. Assert::AreEqual(true, online);
  47. }
  48. };
  49. }