diff --git a/JsonParserTests/JsonArrayTests.cpp b/JsonParserTests/JsonArrayTests.cpp index 8ce9878f..a9c7721f 100644 --- a/JsonParserTests/JsonArrayTests.cpp +++ b/JsonParserTests/JsonArrayTests.cpp @@ -11,33 +11,27 @@ using namespace ArduinoJson::Parser; namespace ArduinoJsonParserTests { - TEST_CLASS(JsonArrayTests) - { + TEST_CLASS(JsonArrayTests) + { JsonArray array; char json[256]; jsmntok_t tokens[32]; JsonParserBase parser = JsonParserBase(tokens, 32); - public: - - TEST_METHOD(EmptyString) - { - whenInputIs(""); - parseMustFail(); - } - - TEST_METHOD(TooFewClosingBrackets) - { + public: + + TEST_METHOD(TooFewClosingBrackets) + { whenInputIs("[[]"); parseMustFail(); - } + } - TEST_METHOD(TooManyClosingBrackets) - { + TEST_METHOD(TooManyClosingBrackets) + { whenInputIs("[]]"); parseMustFail(); - } - + } + TEST_METHOD(EmptyArray) { whenInputIs("[]"); @@ -55,8 +49,8 @@ namespace ArduinoJsonParserTests itemMustNotExist(0); } - TEST_METHOD(TwoIntegers) - { + TEST_METHOD(TwoIntegers) + { setTokenCountTo(3); whenInputIs("[1,2]"); @@ -66,7 +60,7 @@ namespace ArduinoJsonParserTests itemMustBe(0, 1L); itemMustBe(1, 2L); itemMustNotExist(2); - } + } TEST_METHOD(TwoBooleans) { @@ -94,8 +88,8 @@ namespace ArduinoJsonParserTests itemMustNotExist(2); } - TEST_METHOD(TwoDimensionsArray) - { + TEST_METHOD(TwoDimensionsArray) + { setTokenCountTo(7); whenInputIs("[[1,2],[3,4]]"); @@ -107,7 +101,7 @@ namespace ArduinoJsonParserTests itemMustBe(1, 0, 3L); itemMustBe(1, 1, 4L); itemMustNotExist(2); - } + } TEST_METHOD(ThreeDimensionsArray) { @@ -127,7 +121,7 @@ namespace ArduinoJsonParserTests itemMustBe(1, 1, 1, 8L); itemMustNotExist(2); } - + private: void setTokenCountTo(int n) @@ -191,5 +185,5 @@ namespace ArduinoJsonParserTests Assert::AreEqual(0L, array.getLong(index)); Assert::IsNull(array.getString(index)); } - }; + }; } \ No newline at end of file diff --git a/JsonParserTests/JsonObjectTests.cpp b/JsonParserTests/JsonObjectTests.cpp index 1649b032..6b0e6be8 100644 --- a/JsonParserTests/JsonObjectTests.cpp +++ b/JsonParserTests/JsonObjectTests.cpp @@ -23,12 +23,6 @@ namespace ArduinoJsonParserTests public: - TEST_METHOD(EmptyString) - { - whenInputIs(""); - parseMustFail(); - } - TEST_METHOD(EmptyHashTable) { whenInputIs("{}"); diff --git a/JsonParserTests/JsonParserTests.vcxproj b/JsonParserTests/JsonParserTests.vcxproj index 9fbfcc88..b755c6bc 100644 --- a/JsonParserTests/JsonParserTests.vcxproj +++ b/JsonParserTests/JsonParserTests.vcxproj @@ -90,6 +90,7 @@ + diff --git a/JsonParserTests/JsonParserTests.vcxproj.filters b/JsonParserTests/JsonParserTests.vcxproj.filters index d15e6ea3..0034267a 100644 --- a/JsonParserTests/JsonParserTests.vcxproj.filters +++ b/JsonParserTests/JsonParserTests.vcxproj.filters @@ -15,9 +15,6 @@ - - Source Files - Source Files @@ -30,5 +27,11 @@ Source Files + + Source Files + + + Source Files + \ No newline at end of file diff --git a/JsonParserTests/JsonStringTests.cpp b/JsonParserTests/JsonStringTests.cpp new file mode 100644 index 00000000..7c22b5bc --- /dev/null +++ b/JsonParserTests/JsonStringTests.cpp @@ -0,0 +1,53 @@ +/* +* Arduino JSON library +* Benoit Blanchon 2014 - MIT License +*/ + +#include "CppUnitTest.h" +#include "JsonParser.h" + +using namespace Microsoft::VisualStudio::CppUnitTestFramework; +using namespace ArduinoJson::Parser; + +namespace ArduinoJsonParserTests +{ + TEST_CLASS(JsonStringTests) + { + const char* actual; + char json[256]; + JsonParser<32> parser; + + public: + + TEST_METHOD(EmptyString) + { + whenInputIs(""); + outputMustBe(0); + } + + TEST_METHOD(JustOneQuote) + { + whenInputIs("\""); + outputMustBe(0); + } + + TEST_METHOD(EscapedQuote) + { + whenInputIs("\\\""); + outputMustBe("\""); + } + + private: + + void whenInputIs(const char* input) + { + strcpy(json, input); + actual = parser.parse(json); + } + + void outputMustBe(const char* expected) + { + Assert::AreEqual(expected, actual); + } + }; +} \ No newline at end of file