| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #include <gtest/gtest.h>
- #include "Utils.h"
- using namespace mesh;
- #define HEX_BUFFER_SIZE(input) (sizeof(input) * 2 + 1)
- TEST(UtilsToHex, ConvertSingleByte) {
- uint8_t input[] = {0xAB};
- char output[HEX_BUFFER_SIZE(input)];
- Utils::toHex(output, input, sizeof(input));
- EXPECT_STREQ("AB", output);
- }
- TEST(UtilsToHex, ConvertMultipleBytes) {
- uint8_t input[] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF};
- char output[HEX_BUFFER_SIZE(input)];
- Utils::toHex(output, input, sizeof(input));
- EXPECT_STREQ("0123456789ABCDEF", output);
- }
- TEST(UtilsToHex, ConvertZeroByte) {
- uint8_t input[] = {0x00};
- char output[HEX_BUFFER_SIZE(input)];
- Utils::toHex(output, input, sizeof(input));
- EXPECT_STREQ("00", output);
- }
- TEST(UtilsToHex, ConvertMaxByte) {
- uint8_t input[] = {0xFF};
- char output[HEX_BUFFER_SIZE(input)];
- Utils::toHex(output, input, sizeof(input));
- EXPECT_STREQ("FF", output);
- }
- TEST(UtilsToHex, NullTerminatesOnEmptyInput) {
- uint8_t input[] = {0xAB};
- char output[] = "X"; // Pre-fill with X.
- Utils::toHex(output, input, 0);
- // Should just null-terminate at position 0
- EXPECT_EQ('\0', output[0]);
- }
- int main(int argc, char **argv) {
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
- }
|