|
|
@@ -1,11 +1,12 @@
|
|
|
#include "CppUnitTest.h"
|
|
|
#include "StringBuilder.h"
|
|
|
+#include "JsonValue.h"
|
|
|
|
|
|
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
|
|
|
|
|
namespace JsonGeneratorTests
|
|
|
{
|
|
|
- TEST_CLASS(StringBuilderAppendEscapedTests)
|
|
|
+ TEST_CLASS(JsonValueTests)
|
|
|
{
|
|
|
char buffer[20];
|
|
|
StringBuilder* sb;
|
|
|
@@ -16,22 +17,22 @@ namespace JsonGeneratorTests
|
|
|
{
|
|
|
sb = new StringBuilder(buffer, sizeof(buffer));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
TEST_METHOD(InitialState)
|
|
|
{
|
|
|
assertResultIs("");
|
|
|
}
|
|
|
|
|
|
- TEST_METHOD(EmptyString)
|
|
|
+ TEST_METHOD(Null)
|
|
|
{
|
|
|
- append("");
|
|
|
- assertResultIs("\"\"");
|
|
|
+ append((char*)0);
|
|
|
+ assertResultIs("null");
|
|
|
}
|
|
|
|
|
|
- TEST_METHOD(Null)
|
|
|
+ TEST_METHOD(EmptyString)
|
|
|
{
|
|
|
- append(NULL);
|
|
|
- assertResultIs("null");
|
|
|
+ append("");
|
|
|
+ assertResultIs("\"\"");
|
|
|
}
|
|
|
|
|
|
TEST_METHOD(OneString)
|
|
|
@@ -55,16 +56,23 @@ namespace JsonGeneratorTests
|
|
|
append("");
|
|
|
assertResultIs("\"ABCDEFGHIJKLMNOPQ\"");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
TEST_METHOD(SpecialChars)
|
|
|
{
|
|
|
append("\\\"\b\f\n\r\t");
|
|
|
assertResultIs("\"\\\\\\\"\\b\\f\\n\\r\\t\"");
|
|
|
}
|
|
|
-
|
|
|
- void append(const char* s)
|
|
|
+
|
|
|
+ TEST_METHOD(Number)
|
|
|
+ {
|
|
|
+ append(3.14);
|
|
|
+ assertResultIs("3.14");
|
|
|
+ }
|
|
|
+
|
|
|
+ template<typename T>
|
|
|
+ void append(T value)
|
|
|
{
|
|
|
- sb->appendEscaped(s);
|
|
|
+ JsonValue(value).writeTo(*sb);
|
|
|
}
|
|
|
|
|
|
void assertResultIs(const char* expected)
|