From 88f630cee5c2df1e98f48feaf932de5ccf856960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Blanchon?= Date: Tue, 1 Jul 2014 13:20:47 +0200 Subject: [PATCH] Added tests on returned value. --- JsonGeneratorTests/JsonValueTests.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) 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