mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			708 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			708 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // ArduinoJson - https://arduinojson.org
 | |
| // Copyright © 2014-2022, Benoit BLANCHON
 | |
| // MIT License
 | |
| 
 | |
| #include <ArduinoJson.h>
 | |
| #include <catch.hpp>
 | |
| 
 | |
| using namespace ArduinoJson::detail;
 | |
| 
 | |
| template <typename T>
 | |
| static void check(const char* input, T expected) {
 | |
|   T actual;
 | |
|   uint8_t* f = reinterpret_cast<uint8_t*>(&actual);
 | |
|   const uint8_t* d = reinterpret_cast<const uint8_t*>(input);
 | |
|   doubleToFloat(d, f);
 | |
|   fixEndianess(actual);
 | |
|   CHECK(actual == expected);
 | |
| }
 | |
| 
 | |
| TEST_CASE("doubleToFloat()") {
 | |
|   check("\x40\x09\x21\xCA\xC0\x83\x12\x6F", 3.1415f);
 | |
|   check("\x00\x00\x00\x00\x00\x00\x00\x00", 0.0f);
 | |
|   check("\x80\x00\x00\x00\x00\x00\x00\x00", -0.0f);
 | |
|   check("\xC0\x5E\xDC\xCC\xCC\xCC\xCC\xCD", -123.45f);
 | |
| }
 |