
【主 题】:添加库文件 【描 述】: [原因]: [过程]: [影响]: 【结 束】 # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
42 lines
971 B
C++
42 lines
971 B
C++
#define ARDUINOJSON_NAMESPACE ArduinoJson_NoAlignment
|
|
#define ARDUINOJSON_ENABLE_ALIGNMENT 0
|
|
#include <ArduinoJson.h>
|
|
|
|
#include <catch.hpp>
|
|
|
|
TEST_CASE("ARDUINOJSON_ENABLE_ALIGNMENT == 0") {
|
|
using namespace ARDUINOJSON_NAMESPACE;
|
|
|
|
const size_t N = sizeof(void*);
|
|
|
|
SECTION("isAligned()") {
|
|
CHECK(isAligned(0) == true);
|
|
CHECK(isAligned(1) == true);
|
|
CHECK(isAligned(N) == true);
|
|
CHECK(isAligned(N + 1) == true);
|
|
CHECK(isAligned(2 * N) == true);
|
|
CHECK(isAligned(2 * N + 1) == true);
|
|
}
|
|
|
|
SECTION("addPadding()") {
|
|
CHECK(addPadding(0) == 0);
|
|
CHECK(addPadding(1) == 1);
|
|
CHECK(addPadding(N) == N);
|
|
CHECK(addPadding(N + 1) == N + 1);
|
|
}
|
|
|
|
SECTION("AddPadding<>") {
|
|
const size_t a = AddPadding<0>::value;
|
|
CHECK(a == 0);
|
|
|
|
const size_t b = AddPadding<1>::value;
|
|
CHECK(b == 1);
|
|
|
|
const size_t c = AddPadding<N>::value;
|
|
CHECK(c == N);
|
|
|
|
const size_t d = AddPadding<N + 1>::value;
|
|
CHECK(d == N + 1);
|
|
}
|
|
}
|