forked from bblanchon/ArduinoJson
Test casting a JsonValue to a JsonArray
This commit is contained in:
@ -89,6 +89,11 @@ namespace ArduinoJson
|
|||||||
return content.asLong;
|
return content.asLong;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
operator Printable&()
|
||||||
|
{
|
||||||
|
return *content.asPrintable;
|
||||||
|
}
|
||||||
|
|
||||||
size_t printTo(Print& p) const
|
size_t printTo(Print& p) const
|
||||||
{
|
{
|
||||||
// handmade polymorphism
|
// handmade polymorphism
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "CppUnitTest.h"
|
#include "CppUnitTest.h"
|
||||||
#include "StringBuilder.h"
|
#include "StringBuilder.h"
|
||||||
#include "JsonValue.h"
|
#include "JsonValue.h"
|
||||||
|
#include "JsonArray.h"
|
||||||
|
|
||||||
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
||||||
using namespace ArduinoJson::Generator;
|
using namespace ArduinoJson::Generator;
|
||||||
@ -45,6 +46,12 @@ namespace JsonGeneratorTests
|
|||||||
setValueAndCheckCast(42L);
|
setValueAndCheckCast(42L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_METHOD(Array)
|
||||||
|
{
|
||||||
|
JsonArray<2> array;
|
||||||
|
setValueAndCheckCast(array);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_METHOD(String)
|
TEST_METHOD(String)
|
||||||
{
|
{
|
||||||
setValueAndCheckCast("hello");
|
setValueAndCheckCast("hello");
|
||||||
@ -59,5 +66,13 @@ namespace JsonGeneratorTests
|
|||||||
T actual = value;
|
T actual = value;
|
||||||
Assert::AreEqual(expected, actual);
|
Assert::AreEqual(expected, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<int N>
|
||||||
|
void setValueAndCheckCast(JsonArray<N>& expected)
|
||||||
|
{
|
||||||
|
value = expected;
|
||||||
|
Printable& actual = value;
|
||||||
|
Assert::AreEqual((void*) &expected, (void*) &actual);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
Reference in New Issue
Block a user