test: add asm_test for snes_asm::Script

This commit is contained in:
Justin Scofield
2022-08-07 13:47:16 -04:00
parent 513b2d1034
commit 1db18b1d2a
2 changed files with 52 additions and 1 deletions

48
test/asm_test.cc Normal file
View File

@@ -0,0 +1,48 @@
#include <asardll.h>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <array>
#include <cstdint>
#include <fstream>
#include <sstream>
#include <string>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "app/asm/script.h"
#include "app/core/constants.h"
#include "app/rom.h"
namespace yaze_test {
namespace asm_test {
using yaze::app::ROM;
using yaze::app::snes_asm::Script;
using ::testing::_;
using ::testing::ElementsAreArray;
using ::testing::Return;
using ::testing::TypedEq;
class MockScript : public Script {
public:
MOCK_METHOD(absl::Status, ApplyPatchToROM, (ROM & rom));
};
TEST(ASMTest, NoPatchLoadedError) {
ROM rom;
MockScript script;
EXPECT_CALL(script, ApplyPatchToROM(_))
.WillOnce(Return(absl::InvalidArgumentError("No patch loaded!")));
EXPECT_THAT(script.ApplyPatchToROM(rom),
absl::InvalidArgumentError("No patch loaded!"));
}
TEST(ASMTest, ApplyPatchOk) {}
} // namespace asm_test
} // namespace yaze_test