4#include <gtest/gtest.h>
22 LOG_INFO(
"LOG_INFO %s %s %s\n\n",
"a",
"bb",
"ccc");
52 EXPECT_THROW(
HexToByte(
'w'), std::runtime_error);
53 EXPECT_THROW(
HexToByte(
'+'), std::runtime_error);
54 EXPECT_THROW(
HexToByte(
'S'), std::runtime_error);
58 std::array<uint8_t, 100> buffer;
60 EXPECT_EQ(0,
HexToBin(
"", buffer.data(), buffer.size()));
61 EXPECT_EQ(0,
HexToBin(
"12", buffer.data(), 0));
62 EXPECT_EQ(1,
HexToBin(
"01", buffer.data(), buffer.size()));
63 EXPECT_EQ(2,
HexToBin(
"2345", buffer.data(), buffer.size()));
64 EXPECT_EQ(3,
HexToBin(
"678910", buffer.data(), buffer.size()));
66 EXPECT_EQ(2,
HexToBin(
"ABCD", buffer.data(), 2));
68 EXPECT_EQ(11,
HexToBin(
"0123456789ABCDEFabcdef", buffer.data(), buffer.size()));
69 EXPECT_EQ(buffer[0], 0x01);
70 EXPECT_EQ(buffer[1], 0x23);
71 EXPECT_EQ(buffer[2], 0x45);
72 EXPECT_EQ(buffer[3], 0x67);
73 EXPECT_EQ(buffer[4], 0x89);
74 EXPECT_EQ(buffer[5], 0xAB);
75 EXPECT_EQ(buffer[6], 0xCD);
76 EXPECT_EQ(buffer[7], 0xEF);
77 EXPECT_EQ(buffer[8], 0xAB);
78 EXPECT_EQ(buffer[9], 0xCD);
79 EXPECT_EQ(buffer[10], 0xEF);
82 EXPECT_TRUE(
HexToBinEq(
"01", buffer.data(), 1));
83 EXPECT_TRUE(
HexToBinEq(
"0123", buffer.data(), 2));
84 EXPECT_TRUE(
HexToBinEq(
"012345", buffer.data(), 3));
85 EXPECT_TRUE(
HexToBinEq(
"0123456789ABCDEFabcdef", buffer.data(), 11));
87 EXPECT_FALSE(
HexToBinEq(
"11", buffer.data(), 1));
88 EXPECT_FALSE(
HexToBinEq(
"0123456789ABCDEFabcdef", buffer.data(), 12));
89 EXPECT_FALSE(
HexToBinEq(
"0123456789ABCDEFabcdefFF", buffer.data(), 11));
96 uint8_t buf[17] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0xF, 0};
97 EXPECT_STREQ(
BinToHex(buf,
sizeof (buf)).c_str(),
"0102030405060708090A0B0C0D0E0F0F00");
101std::string test_log_out;
104 test_log_out.append(str);
110 Logger::Instance()->SetCallback(&test_log_callback,
nullptr);
113 EXPECT_TRUE(test_log_out.find(
"D:Test 1 (logger_test.cpp:") == 0);
114 test_log_out.clear();
116 EXPECT_TRUE(test_log_out.find(
"D:Test (logger_test.cpp:") == 0);
117 test_log_out.clear();
120 LOG_INFO(
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 ");
121 EXPECT_STREQ(test_log_out.c_str(),
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 \n");
122 test_log_out.clear();
125 LOG_INFO(
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 ");
126 EXPECT_TRUE(test_log_out.find(
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 (logger_test.cpp:") == 0);
127 test_log_out.clear();
129 Logger::Instance()->SetCallback(
nullptr,
nullptr);
size_t HexToBin(const char *str, uint8_t *buf, const size_t size)
std::string BinToHex(const uint8_t *buf, const size_t size)
uint8_t HexToByte(const char c)
int HexToBinEq(const char *str, const uint8_t *buf, size_t size)