test: add mosaic generation sanity test
This commit is contained in:
@@ -24,14 +24,34 @@ using yaze::app::snes_asm::Script;
|
||||
|
||||
using ::testing::_;
|
||||
using ::testing::ElementsAreArray;
|
||||
using ::testing::Eq;
|
||||
using ::testing::Return;
|
||||
using ::testing::TypedEq;
|
||||
|
||||
class MockScript : public Script {
|
||||
public:
|
||||
MOCK_METHOD(absl::Status, ApplyPatchToROM, (ROM & rom));
|
||||
MOCK_METHOD(absl::Status, GenerateMosaicChangeAssembly,
|
||||
(ROM & rom, char mosaic_tiles[yaze::app::core::kNumOverworldMaps],
|
||||
int routine_offset, int hook_offset));
|
||||
};
|
||||
|
||||
TEST(ASMTest, ApplyMosaicChangePatchOk) {
|
||||
ROM rom;
|
||||
MockScript script;
|
||||
char mosaic_tiles[yaze::app::core::kNumOverworldMaps];
|
||||
|
||||
EXPECT_CALL(script, GenerateMosaicChangeAssembly(_, Eq(mosaic_tiles),
|
||||
Eq(0x1301D0 + 0x138000), 0))
|
||||
.WillOnce(Return(absl::OkStatus()));
|
||||
|
||||
EXPECT_CALL(script, ApplyPatchToROM(_)).WillOnce(Return(absl::OkStatus()));
|
||||
|
||||
EXPECT_THAT(script.GenerateMosaicChangeAssembly(rom, mosaic_tiles,
|
||||
0x1301D0 + 0x138000, 0),
|
||||
absl::OkStatus());
|
||||
EXPECT_THAT(script.ApplyPatchToROM(rom), absl::OkStatus());
|
||||
}
|
||||
|
||||
TEST(ASMTest, NoPatchLoadedError) {
|
||||
ROM rom;
|
||||
MockScript script;
|
||||
@@ -42,7 +62,5 @@ TEST(ASMTest, NoPatchLoadedError) {
|
||||
absl::InvalidArgumentError("No patch loaded!"));
|
||||
}
|
||||
|
||||
TEST(ASMTest, ApplyPatchOk) {}
|
||||
|
||||
} // namespace asm_test
|
||||
} // namespace yaze_test
|
||||
Reference in New Issue
Block a user