From 25118ad8c0d6bd08647f3ad9953cb0e5df57ff19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Blanchon?= Date: Thu, 26 Jun 2014 13:05:49 +0200 Subject: [PATCH] Added a test class for StringBuilder.appendEscaped() --- JsonGeneratorTests/JsonGeneratorTests.vcxproj | 3 +- .../JsonGeneratorTests.vcxproj.filters | 5 +- .../StringBuilderAppendEscapedTests.cpp | 66 +++++++++++++++++++ ...Tests.cpp => StringBuilderAppendTests.cpp} | 13 ++-- 4 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp rename JsonGeneratorTests/{StringBuilderTests.cpp => StringBuilderAppendTests.cpp} (79%) diff --git a/JsonGeneratorTests/JsonGeneratorTests.vcxproj b/JsonGeneratorTests/JsonGeneratorTests.vcxproj index 404002f4..ecfdec6f 100644 --- a/JsonGeneratorTests/JsonGeneratorTests.vcxproj +++ b/JsonGeneratorTests/JsonGeneratorTests.vcxproj @@ -86,7 +86,8 @@ - + + diff --git a/JsonGeneratorTests/JsonGeneratorTests.vcxproj.filters b/JsonGeneratorTests/JsonGeneratorTests.vcxproj.filters index caee5ce1..33a74603 100644 --- a/JsonGeneratorTests/JsonGeneratorTests.vcxproj.filters +++ b/JsonGeneratorTests/JsonGeneratorTests.vcxproj.filters @@ -27,7 +27,10 @@ Source Files - + + Source Files + + Source Files diff --git a/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp new file mode 100644 index 00000000..010b58db --- /dev/null +++ b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp @@ -0,0 +1,66 @@ +#include "CppUnitTest.h" +#include "StringBuilder.h" + +using namespace Microsoft::VisualStudio::CppUnitTestFramework; + +namespace JsonGeneratorTests +{ + TEST_CLASS(StringBuilderAppendEscapedTests) + { + char buffer[16]; + StringBuilder* sb; + + public: + + TEST_METHOD_INITIALIZE(Initialize) + { + sb = new StringBuilder(buffer, sizeof(buffer)); + } + + TEST_METHOD(InitialState) + { + assertResultIs(""); + } + + TEST_METHOD(EmptyString) + { + append(""); + assertResultIs("\"\""); + } + + TEST_METHOD(OneString) + { + append("ABCD"); + assertResultIs("\"ABCD\""); + } + + TEST_METHOD(OneTwoStrings) + { + append("ABCD"); + append("EFGH"); + assertResultIs("\"ABCD\"\"EFGH\""); + } + + TEST_METHOD(OverCapacity) + { + append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + assertResultIs("\"ABCDEFGHIJKLM\""); + } + /* + TEST_METHOD(SpecialChars) + { + append("\\\"\b\f\n\r"); + assertResultIs("\\\\\\\"\\\b\\\f\\\n\\\r"); + } + */ + void append(const char* s) + { + sb->appendEscaped(s); + } + + void assertResultIs(const char* expected) + { + Assert::AreEqual(expected, buffer); + } + }; +} \ No newline at end of file diff --git a/JsonGeneratorTests/StringBuilderTests.cpp b/JsonGeneratorTests/StringBuilderAppendTests.cpp similarity index 79% rename from JsonGeneratorTests/StringBuilderTests.cpp rename to JsonGeneratorTests/StringBuilderAppendTests.cpp index cf0823be..d5350a41 100644 --- a/JsonGeneratorTests/StringBuilderTests.cpp +++ b/JsonGeneratorTests/StringBuilderAppendTests.cpp @@ -5,12 +5,11 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace JsonGeneratorTests { - TEST_CLASS(StringBuilderTests) + TEST_CLASS(StringBuilderAppendTests) { char buffer[16]; StringBuilder* sb; - public: TEST_METHOD_INITIALIZE(Initialize) @@ -23,32 +22,32 @@ namespace JsonGeneratorTests assertResultIs(""); } - TEST_METHOD(AppendEmptyString) + TEST_METHOD(EmptyString) { append(""); assertResultIs(""); } - TEST_METHOD(AppendOneString) + TEST_METHOD(OneString) { append("ABCD"); assertResultIs("ABCD"); } - TEST_METHOD(AppendOneTwoStrings) + TEST_METHOD(TwoStrings) { append("ABCD"); append("EFGH"); assertResultIs("ABCDEFGH"); } - TEST_METHOD(AppendOverCapacity) + TEST_METHOD(OverCapacity) { append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); assertResultIs("ABCDEFGHIJKLMNO"); } - TEST_METHOD(AppendSpecialChars) + TEST_METHOD(SpecialChars) { append("\\\"\/\b\f\n\r"); assertResultIs("\\\"\/\b\f\n\r");