Files
ArduinoJson/JsonParserTests/JsonHashTableTests.cpp

67 lines
1.5 KiB
C++
Raw Normal View History

2014-07-03 13:58:08 +02:00
/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#include "CppUnitTest.h"
#include "JsonParser.h"
#include <string>
using namespace std;
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
2014-07-03 14:00:51 +02:00
using namespace ArduinoJson::Parser;
namespace ArduinoJsonParserTests
{
2014-07-14 10:33:24 +02:00
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);
}
};
}