diff --git a/tests/ArduinoJsonParserTests.vcxproj b/tests/ArduinoJsonParserTests.vcxproj
index ed51aa30..6569011b 100644
--- a/tests/ArduinoJsonParserTests.vcxproj
+++ b/tests/ArduinoJsonParserTests.vcxproj
@@ -96,6 +96,7 @@
+
diff --git a/tests/ArduinoJsonParserTests.vcxproj.filters b/tests/ArduinoJsonParserTests.vcxproj.filters
index 50db0cae..4fc06abc 100644
--- a/tests/ArduinoJsonParserTests.vcxproj.filters
+++ b/tests/ArduinoJsonParserTests.vcxproj.filters
@@ -53,5 +53,8 @@
Source Files
+
+ Source Files
+
\ No newline at end of file
diff --git a/tests/TestArrays.cpp b/tests/TestArrays.cpp
new file mode 100644
index 00000000..b054de1b
--- /dev/null
+++ b/tests/TestArrays.cpp
@@ -0,0 +1,77 @@
+#include "CppUnitTest.h"
+#include "JsonParser.h"
+
+using namespace Microsoft::VisualStudio::CppUnitTestFramework;
+
+namespace ArduinoJsonParserTests
+{
+ TEST_CLASS(TestArrays)
+ {
+ JsonParser<32> parser;
+
+ public:
+
+ TEST_METHOD(OneDimensionArray)
+ {
+ char json [] = "[0,0]";
+
+ JsonArray array = parser.parseArray(json);
+ Assert::IsTrue(array.success());
+ Assert::AreEqual(2, array.getLength());
+
+ for (int i = 0; i < 2; i++)
+ {
+ Assert::AreEqual(0L, array.getLong(i));
+ }
+ }
+
+ TEST_METHOD(TwoDimensionArray)
+ {
+ char json[] = "[[0,0],[0,0]]";
+
+ JsonArray array1 = parser.parseArray(json);
+ Assert::IsTrue(array1.success());
+ Assert::AreEqual(2, array1.getLength());
+
+ for (int i = 0; i < 2; i++)
+ {
+ JsonArray array2 = array1.getArray(i);
+
+ Assert::AreEqual(2, array2.getLength());
+
+ for (int j = 0; j < 2; j++)
+ {
+ Assert::AreEqual(0L, array2.getLong(j));
+ }
+ }
+ }
+
+ TEST_METHOD(TreeDimensionArray)
+ {
+ char json[] = "[[[0,0],[0,0]],[[0,0],[0,0]]]]";
+
+ JsonArray array1 = parser.parseArray(json);
+ Assert::IsTrue(array1.success());
+ Assert::AreEqual(2, array1.getLength());
+
+ for (int i = 0; i < 2; i++)
+ {
+ JsonArray array2 = array1.getArray(i);
+
+ Assert::AreEqual(2, array2.getLength());
+
+ for (int j = 0; j < 2; j++)
+ {
+ JsonArray array3 = array2.getArray(j);
+
+ Assert::AreEqual(2, array3.getLength());
+
+ for (int k = 0; k < 2; k++)
+ {
+ Assert::AreEqual(0L, array3.getLong(k));
+ }
+ }
+ }
+ }
+ };
+}
\ No newline at end of file