Fixed JsonArrayIterator unit test

This commit is contained in:
Benoit Blanchon
2014-07-18 16:10:19 +02:00
parent 714a37bd59
commit 5d2ffc49fd
2 changed files with 26 additions and 35 deletions

View File

@ -16,43 +16,34 @@ namespace ArduinoJson
class JsonArrayIterator class JsonArrayIterator
{ {
friend class JsonArray;
public: public:
JsonArrayIterator operator++()
{
JsonArrayIterator prev = *this;
token = token.nextSibling();
return prev;
}
JsonValue operator*()
{
return JsonValue(json, token);
}
bool operator !=(const JsonArrayIterator& other)
{
return token != other.token || json != other.json;
}
private:
char* json;
Internal::JsonToken token;
JsonArrayIterator()
: json(0), token(0)
{
}
JsonArrayIterator(char* json, Internal::JsonToken& token) JsonArrayIterator(char* json, Internal::JsonToken& token)
: json(json), token(token) : json(json), token(token)
{ {
} }
const JsonArrayIterator& operator++()
{
token = token.nextSibling();
return *this;
}
JsonValue operator*() const
{
return JsonValue(json, token);
}
bool operator !=(const JsonArrayIterator& other)
{
return token != other.token;
}
private:
char* json;
Internal::JsonToken token;
}; };
} }
} }

View File

@ -14,16 +14,16 @@ namespace JsonParserTests
TEST_METHOD(ThreeIntegers) TEST_METHOD(ThreeIntegers)
{ {
char json [] = "[1,2,3]"; char json [] = "[1,2,3]";
long expected [] = { 1, 2, 3 };
JsonParser<4> parser; JsonParser<4> parser;
JsonArray a = parser.parse(json); JsonArray a = parser.parse(json);
long expected = 1; int index = 0;
for (auto i : a) for (long i : a)
{ {
Assert::AreEqual(expected, (long)*i); Assert::AreEqual(expected[index++], i);
expected++;
} }
} }