diff --git a/JsonGeneratorTests/JsonValueTests.cpp b/JsonGeneratorTests/JsonValueTests.cpp index d9671980..3a2788b5 100644 --- a/JsonGeneratorTests/JsonValueTests.cpp +++ b/JsonGeneratorTests/JsonValueTests.cpp @@ -10,6 +10,7 @@ namespace JsonGeneratorTests { char buffer[20]; StringBuilder* sb; + size_t returnValue; public: @@ -26,58 +27,76 @@ namespace JsonGeneratorTests TEST_METHOD(Null) { append((char*)0); + + assertReturns(4); assertResultIs("null"); } TEST_METHOD(EmptyString) { append(""); + + assertReturns(2); assertResultIs("\"\""); } TEST_METHOD(OneString) { append("ABCD"); + assertReturns(6); assertResultIs("\"ABCD\""); } TEST_METHOD(OneTwoStrings) { append("ABCD"); + assertReturns(6); + append("EFGH"); + assertReturns(6); + assertResultIs("\"ABCD\"\"EFGH\""); } TEST_METHOD(OverCapacity) { append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + assertReturns(19); assertResultIs("\"ABCDEFGHIJKLMNOPQR"); - append(""); + append("ABC"); + assertReturns(0); assertResultIs("\"ABCDEFGHIJKLMNOPQR"); } TEST_METHOD(SpecialChars) { append("\\\"\b\f\n\r\t"); + assertReturns(16); assertResultIs("\"\\\\\\\"\\b\\f\\n\\r\\t\""); } TEST_METHOD(Number) { append(3.14); + assertReturns(4); assertResultIs("3.14"); } template void append(T value) { - JsonValue(value).writeTo(*sb); + returnValue = JsonValue(value).writeTo(*sb); } void assertResultIs(const char* expected) { Assert::AreEqual(expected, buffer); } + + void assertReturns(size_t expected) + { + Assert::AreEqual(expected, returnValue); + } }; } \ No newline at end of file