mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			148 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
| * Arduino JSON library
 | |
| * Benoit Blanchon 2014 - MIT License
 | |
| */
 | |
| 
 | |
| #include <gtest/gtest.h>
 | |
| #include <ArduinoJson/JsonArray.h>
 | |
| #include <ArduinoJson/JsonObject.h>
 | |
| #include <ArduinoJson/StaticJsonBuffer.h>
 | |
| 
 | |
| class JsonArray_PrintTo_Tests : public testing::Test 
 | |
| {
 | |
| protected:
 | |
|     JsonArray array;
 | |
|     StaticJsonBuffer<3> json;
 | |
| 
 | |
|     virtual void SetUp()
 | |
|     {
 | |
|         array = json.createArray();
 | |
|     }
 | |
| 
 | |
|     void outputMustBe(const char* expected)
 | |
|     {      
 | |
|         size_t n = array.printTo(buffer, sizeof(buffer));
 | |
|         EXPECT_STREQ(expected, buffer);
 | |
|         EXPECT_EQ(strlen(expected), n);
 | |
|     }
 | |
| 
 | |
| private:
 | |
|     char buffer[256];
 | |
| };
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, Empty)
 | |
| {
 | |
|     outputMustBe("[]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, Null)
 | |
| {
 | |
|     array.add((char*) 0);
 | |
| 
 | |
|     outputMustBe("[null]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneString)
 | |
| {
 | |
|     array.add("hello");
 | |
| 
 | |
|     outputMustBe("[\"hello\"]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, TwoStrings)
 | |
| {
 | |
|     array.add("hello");
 | |
|     array.add("world");
 | |
| 
 | |
|     outputMustBe("[\"hello\",\"world\"]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneStringOverCapacity)
 | |
| {
 | |
|     array.add("hello");
 | |
|     array.add("world");
 | |
|     array.add("lost");
 | |
| 
 | |
|     outputMustBe("[\"hello\",\"world\"]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneDoubleDefaultDigits)
 | |
| {
 | |
|     array.add(3.14159265358979323846);
 | |
|     outputMustBe("[3.14]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneDoubleFourDigits)
 | |
| {
 | |
|     array.add(3.14159265358979323846, 4);
 | |
|     outputMustBe("[3.1416]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneInteger)
 | |
| {
 | |
|     array.add(1);
 | |
| 
 | |
|     outputMustBe("[1]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, TwoIntegers)
 | |
| {
 | |
|     array.add(1);
 | |
|     array.add(2);
 | |
| 
 | |
|     outputMustBe("[1,2]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneIntegerOverCapacity)
 | |
| {
 | |
|     array.add(1);
 | |
|     array.add(2);
 | |
|     array.add(3);
 | |
| 
 | |
|     outputMustBe("[1,2]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneTrue)
 | |
| {
 | |
|     array.add(true);
 | |
| 
 | |
|     outputMustBe("[true]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneFalse)
 | |
| {
 | |
|     array.add(false);
 | |
| 
 | |
|     outputMustBe("[false]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, TwoBooleans)
 | |
| {
 | |
|     array.add(false);
 | |
|     array.add(true);
 | |
| 
 | |
|     outputMustBe("[false,true]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneBooleanOverCapacity)
 | |
| {
 | |
|     array.add(false);
 | |
|     array.add(true);
 | |
|     array.add(false);
 | |
| 
 | |
|     outputMustBe("[false,true]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedArray)
 | |
| {
 | |
|     array.createNestedArray();
 | |
| 
 | |
|     outputMustBe("[[]]");
 | |
| }
 | |
| 
 | |
| TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedHash)
 | |
| {
 | |
|     array.createNestedObject();
 | |
| 
 | |
|     outputMustBe("[{}]");
 | |
| } |