compile with esp mqtt lib
This commit is contained in:
64
lib/espMqttClient/test/test_string/test_string.cpp
Normal file
64
lib/espMqttClient/test/test_string/test_string.cpp
Normal file
@@ -0,0 +1,64 @@
|
||||
#include <iostream>
|
||||
|
||||
#include <unity.h>
|
||||
|
||||
#include <Packets/String.h>
|
||||
|
||||
void setUp() {}
|
||||
void tearDown() {}
|
||||
|
||||
void test_encodeString() {
|
||||
const char test[] = "abcd";
|
||||
uint8_t buffer[6];
|
||||
const uint8_t check[] = {0x00, 0x04, 'a', 'b', 'c', 'd'};
|
||||
const uint32_t length = 6;
|
||||
|
||||
TEST_ASSERT_EQUAL_UINT32(length, espMqttClientInternals::encodeString(test, buffer));
|
||||
TEST_ASSERT_EQUAL_UINT8_ARRAY(check, buffer, length);
|
||||
}
|
||||
|
||||
void test_emtpyString() {
|
||||
const char test[] = "";
|
||||
uint8_t buffer[2];
|
||||
const uint8_t check[] = {0x00, 0x00};
|
||||
const uint32_t length = 2;
|
||||
|
||||
TEST_ASSERT_EQUAL_UINT32(length, espMqttClientInternals::encodeString(test, buffer));
|
||||
TEST_ASSERT_EQUAL_UINT8_ARRAY(check, buffer, length);
|
||||
}
|
||||
|
||||
void test_longString() {
|
||||
const size_t maxSize = 65535;
|
||||
char test[maxSize + 1];
|
||||
test[maxSize] = '\0';
|
||||
memset(test, 'a', maxSize);
|
||||
uint8_t buffer[maxSize + 3];
|
||||
uint8_t check[maxSize + 2];
|
||||
check[0] = 0xFF;
|
||||
check[1] = 0xFF;
|
||||
memset(&check[2], 'a', maxSize);
|
||||
const uint32_t length = 2 + maxSize;
|
||||
|
||||
TEST_ASSERT_EQUAL_UINT32(length, espMqttClientInternals::encodeString(test, buffer));
|
||||
TEST_ASSERT_EQUAL_UINT8_ARRAY(check, buffer, length);
|
||||
}
|
||||
|
||||
void test_tooLongString() {
|
||||
const size_t maxSize = 65535;
|
||||
char test[maxSize + 2];
|
||||
test[maxSize + 1] = '\0';
|
||||
memset(test, 'a', maxSize + 1);
|
||||
uint8_t buffer[maxSize + 4]; // extra 4 bytes for headroom: test progam, don't test test
|
||||
const uint32_t length = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL_UINT32(length, espMqttClientInternals::encodeString(test, buffer));
|
||||
}
|
||||
|
||||
int main() {
|
||||
UNITY_BEGIN();
|
||||
RUN_TEST(test_encodeString);
|
||||
RUN_TEST(test_emtpyString);
|
||||
RUN_TEST(test_longString);
|
||||
RUN_TEST(test_tooLongString);
|
||||
return UNITY_END();
|
||||
}
|
||||
Reference in New Issue
Block a user