From 12a5755e1188f8cde04b13090c6cce07e6bb7efb Mon Sep 17 00:00:00 2001 From: Melefo <42809472+Melefo@users.noreply.github.com> Date: Fri, 7 Feb 2020 14:52:57 +0100 Subject: [PATCH] Testing every components write --- tests/testMemoryBus.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/testMemoryBus.cpp b/tests/testMemoryBus.cpp index 55379dd..e683a2b 100644 --- a/tests/testMemoryBus.cpp +++ b/tests/testMemoryBus.cpp @@ -13,6 +13,7 @@ #include "../sources/Memory/MemoryShadow.hpp" #include "../sources/Memory/RectangleShadow.hpp" #include "../sources/PPU/PPU.hpp" +#include "../sources/Exceptions/InvalidAction.hpp" using namespace ComSquare; @@ -354,6 +355,45 @@ Test(BusWrite, WriteAPU) cr_assert_eq(pair.second.apu->_registers.port3, 123); } +Test(BusWrite, WritePPU) +{ + auto pair = Init(); + + pair.first.write(0x002106, 123); + cr_assert_eq(pair.second.ppu->mosaic.raw, 123); +} + +Test(BusWrite, WriteCPU) +{ + auto pair = Init(); + + pair.first.write(0x00420D, 123); + cr_assert_eq(pair.second.cpu->_internalRegisters.memsel, 123); +} + +Test(BusWrite, WriteROM) +{ + auto pair = Init(); + + cr_assert_throw(pair.first.write(0x808005, 123), InvalidAction); +} + +Test(BusWrite, WriteWRAM) +{ + auto pair = Init(); + + pair.first.write(0x7E0002, 123); + cr_assert_eq(pair.second.wram->_data[2], 123); +} + +Test(BusWrite, WriteSRAM) +{ + auto pair = Init(); + + pair.first.write(0x700009, 123); + cr_assert_eq(pair.second.sram->_data[9], 123); +} + //////////////////////////////////// // // // MemoryBus::mapComponents tests //