mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Added tests on returned value.
This commit is contained in:
		| @@ -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<typename T> | ||||
|         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); | ||||
|         } | ||||
|     }; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user