mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			918 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #define ARDUINOJSON_ENABLE_ALIGNMENT 1
 | |
| #include <ArduinoJson.h>
 | |
| 
 | |
| #include <catch.hpp>
 | |
| 
 | |
| TEST_CASE("ARDUINOJSON_ENABLE_ALIGNMENT == 1") {
 | |
|   using namespace ArduinoJson::detail;
 | |
| 
 | |
|   const size_t N = sizeof(void*);
 | |
| 
 | |
|   SECTION("isAligned()") {
 | |
|     CHECK(isAligned(0) == true);
 | |
|     CHECK(isAligned(1) == false);
 | |
|     CHECK(isAligned(N) == true);
 | |
|     CHECK(isAligned(N + 1) == false);
 | |
|     CHECK(isAligned(2 * N) == true);
 | |
|     CHECK(isAligned(2 * N + 1) == false);
 | |
|   }
 | |
| 
 | |
|   SECTION("addPadding()") {
 | |
|     CHECK(addPadding(0) == 0);
 | |
|     CHECK(addPadding(1) == N);
 | |
|     CHECK(addPadding(N) == N);
 | |
|     CHECK(addPadding(N + 1) == 2 * N);
 | |
|   }
 | |
| 
 | |
|   SECTION("AddPadding<>") {
 | |
|     const size_t a = AddPadding<0>::value;
 | |
|     CHECK(a == 0);
 | |
| 
 | |
|     const size_t b = AddPadding<1>::value;
 | |
|     CHECK(b == N);
 | |
| 
 | |
|     const size_t c = AddPadding<N>::value;
 | |
|     CHECK(c == N);
 | |
| 
 | |
|     const size_t d = AddPadding<N + 1>::value;
 | |
|     CHECK(d == 2 * N);
 | |
|   }
 | |
| }
 |