yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
hex_test.cc
Go to the documentation of this file.
1#include "testing.h"
2
3#include "util/hex.h"
4
5namespace yaze {
6namespace test {
7
8using ::testing::Eq;
9
10TEST(HexTest, HexByte) {
11 // Test basic byte conversion
12 EXPECT_THAT(util::HexByte(0x00), Eq("$00"));
13 EXPECT_THAT(util::HexByte(0xFF), Eq("$FF"));
14 EXPECT_THAT(util::HexByte(0x1A), Eq("$1A"));
15
16 // Test different prefixes
19 EXPECT_THAT(util::HexByte(0x1A, params), Eq("1A"));
20
22 EXPECT_THAT(util::HexByte(0x1A, params), Eq("#1A"));
23
25 EXPECT_THAT(util::HexByte(0x1A, params), Eq("0x1A"));
26
27 // Test lowercase
29 params.uppercase = false;
30 EXPECT_THAT(util::HexByte(0x1A, params), Eq("1a"));
31}
32
33TEST(HexTest, HexWord) {
34 // Test basic word conversion
35 EXPECT_THAT(util::HexWord(0x0000), Eq("$0000"));
36 EXPECT_THAT(util::HexWord(0xFFFF), Eq("$FFFF"));
37 EXPECT_THAT(util::HexWord(0x1A2B), Eq("$1A2B"));
38
39 // Test different prefixes
42 EXPECT_THAT(util::HexWord(0x1A2B, params), Eq("1A2B"));
43
45 EXPECT_THAT(util::HexWord(0x1A2B, params), Eq("#1A2B"));
46
48 EXPECT_THAT(util::HexWord(0x1A2B, params), Eq("0x1A2B"));
49
50 // Test lowercase
52 params.uppercase = false;
53 EXPECT_THAT(util::HexWord(0x1A2B, params), Eq("1a2b"));
54}
55
56TEST(HexTest, HexLong) {
57 // Test basic long conversion
58 EXPECT_THAT(util::HexLong(0x000000), Eq("$000000"));
59 EXPECT_THAT(util::HexLong(0xFFFFFF), Eq("$FFFFFF"));
60 EXPECT_THAT(util::HexLong(0x1A2B3C), Eq("$1A2B3C"));
61
62 // Test different prefixes
65 EXPECT_THAT(util::HexLong(0x1A2B3C, params), Eq("1A2B3C"));
66
68 EXPECT_THAT(util::HexLong(0x1A2B3C, params), Eq("#1A2B3C"));
69
71 EXPECT_THAT(util::HexLong(0x1A2B3C, params), Eq("0x1A2B3C"));
72
73 // Test lowercase
75 params.uppercase = false;
76 EXPECT_THAT(util::HexLong(0x1A2B3C, params), Eq("1a2b3c"));
77}
78
79TEST(HexTest, HexLongLong) {
80 // Test basic long long conversion
81 EXPECT_THAT(util::HexLongLong(0x00000000), Eq("$00000000"));
82 EXPECT_THAT(util::HexLongLong(0xFFFFFFFF), Eq("$FFFFFFFF"));
83 EXPECT_THAT(util::HexLongLong(0x1A2B3C4D), Eq("$1A2B3C4D"));
84
85 // Test different prefixes
88 EXPECT_THAT(util::HexLongLong(0x1A2B3C4D, params), Eq("1A2B3C4D"));
89
91 EXPECT_THAT(util::HexLongLong(0x1A2B3C4D, params), Eq("#1A2B3C4D"));
92
94 EXPECT_THAT(util::HexLongLong(0x1A2B3C4D, params), Eq("0x1A2B3C4D"));
95
96 // Test lowercase
98 params.uppercase = false;
99 EXPECT_THAT(util::HexLongLong(0x1A2B3C4D, params), Eq("1a2b3c4d"));
100}
101
102} // namespace test
103} // namespace yaze
TEST(LC_LZ2_CompressionTest, TrivialRepeatedBytes)
std::string HexWord(uint16_t word, HexStringParams params)
Definition hex.cc:43
std::string HexByte(uint8_t byte, HexStringParams params)
Definition hex.cc:30
std::string HexLongLong(uint64_t qword, HexStringParams params)
Definition hex.cc:69
std::string HexLong(uint32_t dword, HexStringParams params)
Definition hex.cc:56
Main namespace for the application.
Definition controller.cc:18
enum yaze::util::HexStringParams::Prefix prefix