| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- * Arduino JSON library
- * Benoit Blanchon 2014 - MIT License
- */
- #include "CppUnitTest.h"
- #include "JsonParser.h"
- #include <string>
- using namespace std;
- using namespace Microsoft::VisualStudio::CppUnitTestFramework;
- using namespace ArduinoJson::Parser;
- namespace ArduinoJsonParserTests
- {
- TEST_CLASS(JsonHashTableTests)
- {
- char json[128];
- JsonParser<32> parser;
- JsonHashTable hashTable;
- public:
- TEST_METHOD_INITIALIZE(Initialize)
- {
- strcpy(json, "{\"Name\":\"Blanchon\",\"Skills\":[\"C\",\"C++\",\"C#\"],\"Age\":32,\"Online\":true}");
- hashTable = parser.parseHashTable(json);
- }
-
- TEST_METHOD(HashTable_Success_ReturnsTrue)
- {
- Assert::IsTrue(hashTable.success());
- }
- TEST_METHOD(HashTable_GetString_ReturnsExpectedValue)
- {
- string name = hashTable.getString("Name");
- Assert::AreEqual(name, string("Blanchon"));
- }
- TEST_METHOD(HashTable_GetArray_ReturnsExpectedValue)
- {
- JsonArray skills = hashTable.getArray("Skills");
- string skill0 = skills.getString(0);
- Assert::AreEqual(skill0, string("C"));
- string skill1 = skills.getString(1);
- Assert::AreEqual(skill1, string("C++"));
- string skill2 = skills.getString(2);
- Assert::AreEqual(skill2, string("C#"));
- }
- TEST_METHOD(HashTable_GetLong_ReturnsExpectedValue)
- {
- int age = hashTable.getLong("Age");
- Assert::AreEqual(32, age);
- }
- TEST_METHOD(HashTable_GetBool_ReturnsExpectedValue)
- {
- bool online = hashTable.getBool("Online");
- Assert::AreEqual(true, online);
- }
- TEST_METHOD(OneDimensionArrayInHashTable)
- {
- char json[] = "{a:[0,0],b:[0,0]}";
- JsonHashTable root = parser.parseHashTable(json);
- Assert::IsTrue(root.success());
- JsonArray arrayA = root.getArray("a");
- Assert::IsTrue(arrayA.success());
- Assert::AreEqual(2, arrayA.getLength());
- JsonArray arrayB = root.getArray("b");
- Assert::IsTrue(arrayB.success());
- Assert::AreEqual(2, arrayB.getLength());
- }
- TEST_METHOD(TwoDimensionsArrayInHashTable)
- {
- char json[] = "{a:[[0],[0]],b:[[0],[0]]}";
- JsonHashTable root = parser.parseHashTable(json);
- Assert::IsTrue(root.success());
- JsonArray arrayA = root.getArray("a");
- Assert::IsTrue(arrayA.success());
- Assert::AreEqual(2, arrayA.getLength());
- JsonArray arrayB = root.getArray("b");
- Assert::IsTrue(arrayB.success());
- Assert::AreEqual(2, arrayB.getLength());
- }
- };
- }
|