5 #include "sw/device/lib/testing/hexstr.h"
9 #include "gmock/gmock.h"
10 #include "gtest/gtest.h"
14 TEST(HexStr, Encode) {
15 uint32_t value = 0x01020304;
18 status_t result = hexstr_encode(buf,
sizeof(buf), &value,
sizeof(value));
19 EXPECT_TRUE(status_ok(result));
20 EXPECT_EQ(std::string(buf),
"04030201");
23 TEST(HexStr, EncodeShortBuf) {
24 uint32_t value = 0x01020304;
28 status_t result = hexstr_encode(buf,
sizeof(buf), &value,
sizeof(value));
29 EXPECT_FALSE(status_ok(result));
32 TEST(HexStr, Decode) {
33 char str[] =
"11223344";
36 status_t result = hexstr_decode(&value,
sizeof(value), str);
37 EXPECT_TRUE(status_ok(result));
38 EXPECT_EQ(value, 0x44332211);
41 TEST(HexStr, DecodeShortBuf) {
42 char str[] =
"1122334455667788";
46 status_t result = hexstr_decode(&value,
sizeof(value), str);
47 EXPECT_FALSE(status_ok(result));
50 TEST(HexStr, DecodeShortInput) {
52 char str[] =
"1122334";
55 status_t result = hexstr_decode(&value,
sizeof(value), str);
56 EXPECT_FALSE(status_ok(result));
59 TEST(HexStr, DecodeIllegalInput) {
61 char str[] =
"1122334x";
64 status_t result = hexstr_decode(&value,
sizeof(value), str);
65 EXPECT_FALSE(status_ok(result));