From 1d2911d0e689794b04d39dce336bb43b2066b34a Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 6 Aug 2024 22:46:24 -0400 Subject: [PATCH] update tests, cleanup old interfaces --- src/test/emu/ppu_test.cc | 99 ------------------------------- src/test/emu/spc700_test.cc | 2 +- src/test/gfx/snes_palette_test.cc | 5 +- 3 files changed, 3 insertions(+), 103 deletions(-) diff --git a/src/test/emu/ppu_test.cc b/src/test/emu/ppu_test.cc index 637aebec..b12c56af 100644 --- a/src/test/emu/ppu_test.cc +++ b/src/test/emu/ppu_test.cc @@ -26,32 +26,6 @@ class MockPpu : public PpuInterface { MOCK_METHOD(void, Write, (uint16_t address, uint8_t data), (override)); MOCK_METHOD(uint8_t, Read, (uint16_t address), (const, override)); - MOCK_METHOD(void, RenderFrame, (), (override)); - MOCK_METHOD(void, RenderScanline, (), (override)); - MOCK_METHOD(void, RenderBackground, (int layer), (override)); - MOCK_METHOD(void, RenderSprites, (), (override)); - - MOCK_METHOD(void, Init, (), (override)); - MOCK_METHOD(void, Reset, (), (override)); - MOCK_METHOD(void, Update, (double deltaTime), (override)); - MOCK_METHOD(void, UpdateClock, (double deltaTime), (override)); - MOCK_METHOD(void, UpdateInternalState, (int cycles), (override)); - - MOCK_METHOD(const std::vector&, GetFrameBuffer, (), - (const, override)); - MOCK_METHOD(std::shared_ptr, GetScreen, (), (const, override)); - - MOCK_METHOD(void, UpdateModeSettings, (), (override)); - MOCK_METHOD(void, UpdateTileData, (), (override)); - MOCK_METHOD(void, UpdateTileMapData, (), (override)); - MOCK_METHOD(void, UpdatePaletteData, (), (override)); - - MOCK_METHOD(void, ApplyEffects, (), (override)); - MOCK_METHOD(void, ComposeLayers, (), (override)); - - MOCK_METHOD(void, DisplayFrameBuffer, (), (override)); - MOCK_METHOD(void, Notify, (uint32_t address, uint8_t data), (override)); - std::vector internalFrameBuffer; std::vector vram; std::vector sprites; @@ -71,11 +45,6 @@ class PpuTest : public ::testing::Test { PpuTest() {} void SetUp() override { - ON_CALL(mock_ppu, Init()).WillByDefault([this]() { - mock_ppu.internalFrameBuffer.resize(256 * 240); - mock_ppu.vram.resize(0x10000); - }); - ON_CALL(mock_ppu, Write(::testing::_, ::testing::_)) .WillByDefault([this](uint16_t address, uint8_t data) { mock_ppu.vram[address] = data; @@ -84,76 +53,8 @@ class PpuTest : public ::testing::Test { ON_CALL(mock_ppu, Read(::testing::_)) .WillByDefault( [this](uint16_t address) { return mock_ppu.vram[address]; }); - - ON_CALL(mock_ppu, RenderScanline()).WillByDefault([this]() { - // Simulate scanline rendering logic... - }); - - ON_CALL(mock_ppu, GetFrameBuffer()).WillByDefault([this]() { - return mock_ppu.internalFrameBuffer; - }); - - // Additional ON_CALL setups as needed... } - - void TearDown() override { - // Common cleanup (if necessary) - } - - const uint8_t testVRAMValue = 0xAB; - const uint16_t testVRAMAddress = 0x2000; - const std::vector spriteData = {/* ... */}; - const std::vector bgData = {/* ... */}; - const uint8_t testPaletteIndex = 3; - const uint16_t testTileIndex = 42; }; -// Test Initialization -TEST_F(PpuTest, InitializationSetsCorrectFrameBufferSize) { - EXPECT_CALL(mock_ppu, Init()).Times(1); - mock_ppu.Init(); - EXPECT_EQ(mock_ppu.GetFrameBuffer().size(), 256 * 240); -} - -// Test State Reset -TEST_F(PpuTest, ResetClearsFrameBuffer) { - EXPECT_CALL(mock_ppu, Reset()).Times(1); - mock_ppu.Reset(); - auto frameBuffer = mock_ppu.GetFrameBuffer(); - EXPECT_TRUE(std::all_of(frameBuffer.begin(), frameBuffer.end(), - [](uint8_t val) { return val == 0; })); -} - -// Test Memory Interaction -TEST_F(PpuTest, ReadWriteVRAM) { - uint16_t address = testVRAMAddress; - uint8_t value = testVRAMValue; - EXPECT_CALL(mock_ppu, Write(address, value)).Times(1); - mock_ppu.Write(address, value); - EXPECT_EQ(mock_ppu.Read(address), value); -} - -// Test Rendering Mechanics -TEST_F(PpuTest, RenderScanlineUpdatesFrameBuffer) { - // Setup PPU with necessary background and sprite data - // Call RenderScanline and check if the framebuffer is updated correctly -} - -// Test Mode and Register Handling -TEST_F(PpuTest, Mode0Rendering) { - // Set PPU to Mode0 and verify correct rendering behavior -} - -// Test Interrupts and Counters -TEST_F(PpuTest, VBlankInterruptTriggered) { - // Simulate conditions for V-Blank and test if the interrupt is triggered -} - -// Test Composite Rendering and Output -TEST_F(PpuTest, FrameComposition) { - // Setup various layers and sprites, call ComposeLayers, and verify the frame - // buffer -} - } // namespace emu_test } // namespace yaze_test \ No newline at end of file diff --git a/src/test/emu/spc700_test.cc b/src/test/emu/spc700_test.cc index 7ecb9628..4f882985 100644 --- a/src/test/emu/spc700_test.cc +++ b/src/test/emu/spc700_test.cc @@ -72,7 +72,7 @@ class Spc700Test : public ::testing::Test { testing::StrictMock audioRAM; ApuCallbacks callbacks_; - Spc700 spc700{audioRAM, callbacks_}; + Spc700 spc700{callbacks_}; }; // ======================================================== diff --git a/src/test/gfx/snes_palette_test.cc b/src/test/gfx/snes_palette_test.cc index fca0672f..3c976098 100644 --- a/src/test/gfx/snes_palette_test.cc +++ b/src/test/gfx/snes_palette_test.cc @@ -12,12 +12,11 @@ using ::testing::ElementsAreArray; using yaze::app::gfx::ConvertRGBtoSNES; using yaze::app::gfx::ConvertSNEStoRGB; using yaze::app::gfx::Extract; -using yaze::app::gfx::snes_color; using yaze::app::gfx::snes_palette; using yaze::app::gfx::SnesPalette; namespace { -unsigned int test_convert(yaze::app::gfx::snes_color col) { +unsigned int test_convert(snes_color col) { unsigned int toret; toret = col.red << 16; toret += col.green << 8; @@ -99,7 +98,7 @@ TEST(SNESColorTest, Convert) { static_cast(0xFF), 0x1F}; auto pal = Extract(data, 0, 5); - auto snes_string = Convert(pal); + auto snes_string = yaze::app::gfx::Convert(pal); EXPECT_EQ(10, snes_string.size()); EXPECT_THAT(data, ElementsAreArray(snes_string.data(), 10)); }