mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Extracted class StringBuilderTests
This commit is contained in:
		| @@ -89,6 +89,7 @@ | |||||||
|     <ClCompile Include="JsonArrayTests.cpp" /> |     <ClCompile Include="JsonArrayTests.cpp" /> | ||||||
|     <ClCompile Include="JsonHashTableTests.cpp" /> |     <ClCompile Include="JsonHashTableTests.cpp" /> | ||||||
|     <ClCompile Include="JsonValueTests.cpp" /> |     <ClCompile Include="JsonValueTests.cpp" /> | ||||||
|  |     <ClCompile Include="StringBuilderTests.cpp" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClInclude Include="..\JsonGenerator\JsonArray.h" /> |     <ClInclude Include="..\JsonGenerator\JsonArray.h" /> | ||||||
|   | |||||||
| @@ -30,6 +30,9 @@ | |||||||
|     <ClCompile Include="..\JsonGenerator\StringBuilder.cpp"> |     <ClCompile Include="..\JsonGenerator\StringBuilder.cpp"> | ||||||
|       <Filter>Source Files</Filter> |       <Filter>Source Files</Filter> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|  |     <ClCompile Include="StringBuilderTests.cpp"> | ||||||
|  |       <Filter>Source Files</Filter> | ||||||
|  |     </ClCompile> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClInclude Include="..\JsonGenerator\JsonArray.h"> |     <ClInclude Include="..\JsonGenerator\JsonArray.h"> | ||||||
|   | |||||||
| @@ -8,22 +8,11 @@ namespace JsonGeneratorTests | |||||||
| { | { | ||||||
|     TEST_CLASS(JsonValueTests) |     TEST_CLASS(JsonValueTests) | ||||||
|     { |     { | ||||||
|         char buffer[20]; |         char buffer[1024]; | ||||||
|         StringBuilder* sb; |  | ||||||
|         size_t returnValue; |         size_t returnValue; | ||||||
|  |  | ||||||
|     public: |     public: | ||||||
|  |  | ||||||
|         TEST_METHOD_INITIALIZE(Initialize) |  | ||||||
|         { |  | ||||||
|             sb = new StringBuilder(buffer, sizeof(buffer)); |  | ||||||
|         } |  | ||||||
|                  |  | ||||||
|         TEST_METHOD(InitialState) |  | ||||||
|         { |  | ||||||
|             assertResultIs(""); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         TEST_METHOD(Null) |         TEST_METHOD(Null) | ||||||
|         { |         { | ||||||
|             write((char*)0); |             write((char*)0); | ||||||
| @@ -40,35 +29,6 @@ namespace JsonGeneratorTests | |||||||
|             assertResultIs("\"\""); |             assertResultIs("\"\""); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         TEST_METHOD(OneString) |  | ||||||
|         { |  | ||||||
|             write("ABCD"); |  | ||||||
|             assertReturns(6); |  | ||||||
|             assertResultIs("\"ABCD\""); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         TEST_METHOD(OneTwoStrings) |  | ||||||
|         { |  | ||||||
|             write("ABCD"); |  | ||||||
|             assertReturns(6); |  | ||||||
|  |  | ||||||
|             write("EFGH"); |  | ||||||
|             assertReturns(6); |  | ||||||
|              |  | ||||||
|             assertResultIs("\"ABCD\"\"EFGH\""); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         TEST_METHOD(OverCapacity) |  | ||||||
|         { |  | ||||||
|             write("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); |  | ||||||
|             assertReturns(19); |  | ||||||
|             assertResultIs("\"ABCDEFGHIJKLMNOPQR"); |  | ||||||
|  |  | ||||||
|             write("ABC"); |  | ||||||
|             assertReturns(0); |  | ||||||
|             assertResultIs("\"ABCDEFGHIJKLMNOPQR"); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         TEST_METHOD(SpecialChars) |         TEST_METHOD(SpecialChars) | ||||||
|         { |         { | ||||||
|             write("\\\"\b\f\n\r\t"); |             write("\\\"\b\f\n\r\t"); | ||||||
| @@ -107,7 +67,8 @@ namespace JsonGeneratorTests | |||||||
|         template<typename T> |         template<typename T> | ||||||
|         void write(T value) |         void write(T value) | ||||||
|         { |         { | ||||||
|             returnValue = JsonValue(value).printTo(*sb); |             StringBuilder sb(buffer, sizeof(buffer)); | ||||||
|  |             returnValue = JsonValue(value).printTo(sb); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         void assertResultIs(const char* expected) |         void assertResultIs(const char* expected) | ||||||
|   | |||||||
							
								
								
									
										80
									
								
								JsonGeneratorTests/StringBuilderTests.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								JsonGeneratorTests/StringBuilderTests.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | |||||||
|  | #include "CppUnitTest.h" | ||||||
|  | #include "StringBuilder.h" | ||||||
|  |  | ||||||
|  | using namespace Microsoft::VisualStudio::CppUnitTestFramework; | ||||||
|  |  | ||||||
|  | namespace JsonGeneratorTests | ||||||
|  | { | ||||||
|  | 	TEST_CLASS(StringBuilderTests) | ||||||
|  | 	{ | ||||||
|  |         char buffer[20]; | ||||||
|  |         Print* sb; | ||||||
|  |         size_t returnValue; | ||||||
|  |  | ||||||
|  | 	public: | ||||||
|  | 		 | ||||||
|  |         TEST_METHOD_INITIALIZE(Initialize) | ||||||
|  |         { | ||||||
|  |             sb = new StringBuilder(buffer, sizeof(buffer)); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(InitialState) | ||||||
|  |         { | ||||||
|  |             assertResultIs(""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(OverCapacity) | ||||||
|  |         { | ||||||
|  |             write("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); | ||||||
|  |             assertReturns(19); | ||||||
|  |             assertResultIs("ABCDEFGHIJKLMNOPQRS"); | ||||||
|  |  | ||||||
|  |             write("ABC"); | ||||||
|  |             assertReturns(0); | ||||||
|  |             assertResultIs("ABCDEFGHIJKLMNOPQRS"); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(EmptyString) | ||||||
|  |         { | ||||||
|  |             write(""); | ||||||
|  |  | ||||||
|  |             assertReturns(0); | ||||||
|  |             assertResultIs(""); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(OneString) | ||||||
|  |         { | ||||||
|  |             write("ABCD"); | ||||||
|  |             assertReturns(4); | ||||||
|  |             assertResultIs("ABCD"); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         TEST_METHOD(TwoStrings) | ||||||
|  |         { | ||||||
|  |             write("ABCD"); | ||||||
|  |             assertReturns(4); | ||||||
|  |  | ||||||
|  |             write("EFGH"); | ||||||
|  |             assertReturns(4); | ||||||
|  |  | ||||||
|  |             assertResultIs("ABCDEFGH"); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     private: | ||||||
|  |  | ||||||
|  |         void write(const char* value) | ||||||
|  |         { | ||||||
|  |             returnValue = sb->write(value); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         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