Add tests for ParseSingleMessage function in message_test.cc
This commit is contained in:
@@ -20,6 +20,7 @@ add_executable(
|
|||||||
gfx/compression_test.cc
|
gfx/compression_test.cc
|
||||||
gfx/snes_palette_test.cc
|
gfx/snes_palette_test.cc
|
||||||
integration/test_editor.cc
|
integration/test_editor.cc
|
||||||
|
zelda3/message_test.cc
|
||||||
zelda3/overworld_test.cc
|
zelda3/overworld_test.cc
|
||||||
zelda3/sprite_builder_test.cc
|
zelda3/sprite_builder_test.cc
|
||||||
${ASAR_STATIC_SRC}
|
${ASAR_STATIC_SRC}
|
||||||
|
|||||||
@@ -42,13 +42,40 @@ TEST_F(MessageTest, LoadMessagesFromRomOk) {
|
|||||||
Message ID: 2
|
Message ID: 2
|
||||||
Raw: [S:00][3][][:75][:44][CH2I]
|
Raw: [S:00][3][][:75][:44][CH2I]
|
||||||
Parsed: [S:00][3][][:75][:44][CH2I]
|
Parsed: [S:00][3][][:75][:44][CH2I]
|
||||||
Raw Bytes: 7A 00 76 88 8A 75 88 44 68
|
Raw Bytes: 7A 00 76 88 8A 75 88 44 68
|
||||||
Parsed Bytes: 7A 00 76 88 8A 75 88 44 68
|
Parsed Bytes: 7A 00 76 88 8A 75 88 44 68
|
||||||
|
|
||||||
*/
|
*/
|
||||||
TEST_F(MessageTest, VerifySingleMessageFromRomOk) {
|
TEST_F(MessageTest, VerifySingleMessageFromRomOk) {
|
||||||
// TODO - Implement this test
|
// TODO - Implement this test
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(MessageTest, ParseSingleMessage_CommandParsing) {
|
||||||
|
std::vector<uint8_t> mock_data = {0x6A, 0x7F, 0x00};
|
||||||
|
int pos = 0;
|
||||||
|
|
||||||
|
auto result = editor::ParseSingleMessage(mock_data, &pos);
|
||||||
|
EXPECT_TRUE(result.ok());
|
||||||
|
const auto message_data = result.value();
|
||||||
|
|
||||||
|
// Verify that the command was recognized and parsed
|
||||||
|
EXPECT_EQ(message_data.ContentsParsed, "[L]");
|
||||||
|
EXPECT_EQ(pos, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(MessageTest, ParseSingleMessage_BasicAscii) {
|
||||||
|
std::vector<uint8_t> mock_data = {0x41, 0x42, 0x43, 0x7F,
|
||||||
|
0x00}; // A, B, C, terminator
|
||||||
|
int pos = 0;
|
||||||
|
|
||||||
|
auto result = editor::ParseSingleMessage(mock_data, &pos);
|
||||||
|
ASSERT_TRUE(result.ok());
|
||||||
|
const auto message_data = result.value();
|
||||||
|
|
||||||
|
EXPECT_EQ(message_data.RawString, "ABC");
|
||||||
|
EXPECT_EQ(message_data.ContentsParsed, "ABC");
|
||||||
|
EXPECT_EQ(pos, 4); // consumed all 4 bytes
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace test
|
} // namespace test
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
|
|||||||
Reference in New Issue
Block a user