Changed JsonArray tests to show the issue

This commit is contained in:
Benoit Blanchon
2014-08-04 09:22:45 +02:00
parent df52dceaa1
commit bc86ae800a
4 changed files with 25 additions and 19 deletions

View File

@ -20,11 +20,16 @@ namespace ArduinoJson
}
void add(const Printable& nestedObject)
{
if (count < capacity)
items[count++] = nestedObject;
}
template<typename T>
void add(T value)
{
if (count >= capacity) return;
if (count < capacity)
items[count++] = value;
}

View File

@ -35,7 +35,7 @@ namespace ArduinoJson
content.asLong = value;
}
void operator=(Printable& value)
void operator=(const Printable& value)
{
printToImpl = &printPrintableTo;
content.asPrintable = &value;
@ -89,7 +89,7 @@ namespace ArduinoJson
return content.asLong;
}
operator Printable&()
operator const Printable&()
{
return *content.asPrintable;
}
@ -112,7 +112,7 @@ namespace ArduinoJson
bool asBool;
double asDouble;
long asLong;
Printable* asPrintable;
const Printable* asPrintable;
const char* asString;
};

View File

@ -124,13 +124,19 @@ namespace JsonGeneratorTests
TEST_METHOD(OneEmptyNestedArray)
{
addNested(JsonArray<1>());
JsonArray<1> nestedArray;
arr.add(nestedArray);
outputMustBe("[[]]");
}
TEST_METHOD(OneEmptyNestedHash)
{
addNested(JsonHashTable<1>());
JsonObject<1> nestedObject;
arr.add(nestedObject);
outputMustBe("[{}]");
}
@ -139,18 +145,13 @@ namespace JsonGeneratorTests
JsonArray<1> nestedArray;
nestedArray.add(1);
addNested(nestedArray);
arr.add(nestedArray);
outputMustBe("[[1]]");
}
private:
void addNested(Printable& value)
{
arr.add<Printable&>(value);
}
template<typename T>
void add(T value)
{

View File

@ -71,7 +71,7 @@ namespace JsonGeneratorTests
void setValueAndCheckCast(JsonArray<N>& expected)
{
value = expected;
Printable& actual = value;
const Printable& actual = value;
Assert::AreEqual((void*) &expected, (void*) &actual);
}
};