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::_;
|
||||||
using ::testing::ElementsAreArray;
|
using ::testing::ElementsAreArray;
|
||||||
|
using ::testing::Eq;
|
||||||
using ::testing::Return;
|
using ::testing::Return;
|
||||||
using ::testing::TypedEq;
|
|
||||||
|
|
||||||
class MockScript : public Script {
|
class MockScript : public Script {
|
||||||
public:
|
public:
|
||||||
MOCK_METHOD(absl::Status, ApplyPatchToROM, (ROM & rom));
|
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) {
|
TEST(ASMTest, NoPatchLoadedError) {
|
||||||
ROM rom;
|
ROM rom;
|
||||||
MockScript script;
|
MockScript script;
|
||||||
@@ -42,7 +62,5 @@ TEST(ASMTest, NoPatchLoadedError) {
|
|||||||
absl::InvalidArgumentError("No patch loaded!"));
|
absl::InvalidArgumentError("No patch loaded!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ASMTest, ApplyPatchOk) {}
|
|
||||||
|
|
||||||
} // namespace asm_test
|
} // namespace asm_test
|
||||||
} // namespace yaze_test
|
} // namespace yaze_test
|
||||||
Reference in New Issue
Block a user