yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
message_test.cc
Go to the documentation of this file.
1#include <gtest/gtest.h>
2
5#include "test/testing.h"
6
7namespace yaze {
8namespace test {
9
10class MessageTest : public ::testing::Test, public SharedRom {
11 protected:
12 void SetUp() override {
13#if defined(__linux__)
14 GTEST_SKIP();
15#endif
16 }
17 void TearDown() override {}
18
20 std::vector<editor::DictionaryEntry> dictionary_;
21};
22
23TEST_F(MessageTest, LoadMessagesFromRomOk) {
24 EXPECT_OK(rom()->LoadFromFile("zelda3.sfc"));
25 EXPECT_OK(message_editor_.Initialize());
26}
27
49TEST_F(MessageTest, VerifySingleMessageFromRomOk) {
50 // TODO - Implement this test
51}
52
53TEST_F(MessageTest, ParseSingleMessage_CommandParsing) {
54 std::vector<uint8_t> mock_data = {0x6A, 0x7F, 0x00};
55 int pos = 0;
56
57 auto result = editor::ParseSingleMessage(mock_data, &pos);
58 EXPECT_TRUE(result.ok());
59 const auto message_data = result.value();
60
61 // Verify that the command was recognized and parsed
62 EXPECT_EQ(message_data.ContentsParsed, "[L]");
63 EXPECT_EQ(pos, 2);
64}
65
66TEST_F(MessageTest, ParseSingleMessage_BasicAscii) {
67 std::vector<uint8_t> mock_data = {0x41, 0x42, 0x43, 0x7F,
68 0x00}; // A, B, C, terminator
69 int pos = 0;
70
71 auto result = editor::ParseSingleMessage(mock_data, &pos);
72 ASSERT_TRUE(result.ok());
73 const auto message_data = result.value();
74
75 EXPECT_EQ(message_data.RawString, "ABC");
76 EXPECT_EQ(message_data.ContentsParsed, "ABC");
77 EXPECT_EQ(pos, 4); // consumed all 4 bytes
78}
79
80} // namespace test
81} // namespace yaze
SharedRom()=default
void SetUp() override
void TearDown() override
editor::MessageEditor message_editor_
std::vector< editor::DictionaryEntry > dictionary_
absl::StatusOr< MessageData > ParseSingleMessage(const std::vector< uint8_t > &rom_data, int *current_pos)
TEST_F(CpuTest, AsmParserTokenizerOk)
Definition cpu_test.cc:44
Main namespace for the application.
Definition controller.cc:18
#define EXPECT_OK(expr)
Definition testing.h:10