Added tests for ROMs and decompression

This commit is contained in:
Justin Scofield
2022-06-13 00:02:02 -04:00
parent b8303f4736
commit a10dbb59f1
5 changed files with 55 additions and 7 deletions

View File

@@ -10,9 +10,8 @@
#include <vector>
#include "Core/Constants.h"
#include "graphics/tile.h"
#include "Graphics/tile.h"
#include "compressions/alttpcompression.h"
#include "compressions/stdnintendo.h"
#include "rommapping.h"
#include "tile.h"

View File

@@ -102,7 +102,6 @@ class TilePreset {
uint32_t bpp;
TilesPattern tilesPattern;
std::string compression;
};
} // namespace Graphics

View File

@@ -59,7 +59,6 @@ add_executable(
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
${SNESHACKING_PATH}/compressions/alttpcompression.c
${SNESHACKING_PATH}/compressions/stdnintendo.c
${SNESHACKING_PATH}/compressions/stdnintendo.c
${SNESHACKING_PATH}/tile.c
${SNESHACKING_PATH}/tilepng.c
${SNESHACKING_PATH}/palette.c
@@ -71,7 +70,6 @@ target_include_directories(
yaze PUBLIC
Library/
Application/
Resources/
"C:/msys64/mingw64/include/libpng16"
"C:/msys64/mingw64/include/SDL2"
"C:/msys64/mingw64/include"

View File

@@ -9,16 +9,41 @@ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
enable_testing()
find_package(PNG REQUIRED)
set(SNESHACKING_PATH "../src/Library/sneshacking/src")
add_executable(
yaze_test
yaze_test.cc
rom_test.cc
../src/Application/Data/rom.cc
../src/Application/Graphics/tile.cc
../src/Application/Graphics/tile.cc
../src/Application/Graphics/palette.cc
${SNESHACKING_PATH}/compressions/alttpcompression.c
${SNESHACKING_PATH}/compressions/stdnintendo.c
${SNESHACKING_PATH}/tile.c
${SNESHACKING_PATH}/tilepng.c
${SNESHACKING_PATH}/palette.c
${SNESHACKING_PATH}/rommapping.c
${SNESHACKING_PATH}/mapping_lorom.c
)
target_include_directories(
yaze_test PUBLIC
../src/Library/
../src/Application/
${SNESHACKING_PATH}
)
target_link_libraries(
yaze_test
${BOOST_LIBRARIES}
${SDL2_LIBRARIES}
${PNG_LIBRARIES}
${BOOST_LIBRARIES}
${SDL2_LIBRARIES}
${OPENGL_LIBRARIES}
NintendoCompression
gtest_main
gtest
)

27
tests/rom_test.cc Normal file
View File

@@ -0,0 +1,27 @@
#include "Data/rom.h"
#include <gtest/gtest.h>
#include "Data/rom.h"
#include "Graphics/tile.h"
namespace YazeTests {
namespace ROMTestSuite {
TEST(ROMTest, decompress_basic_test) {
yaze::Application::Data::ROM rom;
rom.LoadFromFile("C:/alttp.sfc");
yaze::Application::Graphics::TilePreset current_set;
current_set.bpp = 4;
current_set.length = 28672;
current_set.pcTilesLocation = 0x80000;
current_set.SNESTilesLocation = 0x0000;
current_set.pcPaletteLocation = 0xDD326;
current_set.SNESPaletteLocation = 0x0000;
current_set.compression = "zelda3";
auto tiles_ = rom.ExtractTiles(current_set);
auto current_palette_ = rom.ExtractPalette(current_set);
}
} // namespace ROMTestSuite
} // namespace YazeTests