Commit Graph

138 Commits

Author SHA1 Message Date
scawful
3734884ba3 Refactor Snes class and enhance Apu functionality
- Updated Snes constructor to initialize CPU callbacks directly, improving readability and maintainability.
- Removed unnecessary CpuCallbacks parameter from Cpu constructor, streamlining the class design.
- Added new methods in Apu for retrieving cycles, status, control, and handling DMA transfers, enhancing audio processing capabilities.
- Introduced unit tests for Apu to validate initialization, sample generation, and handshake timing, ensuring robust audio functionality.
2025-09-24 12:51:29 -04:00
scawful
789f577ee3 Add integration tests for Dungeon Editor and object parsing functionality
- Updated CMakeLists.txt to include new test files for CPU, PPU, SPC700, APU, and dungeon editor integration tests.
- Introduced new testing helpers in testing.h for validating StatusOr objects with specific error messages and codes.
- Added comprehensive integration tests for the DungeonEditor, covering object parsing, rendering, and room graphics.
- Created mock ROM and object data setups to facilitate testing without real ROM files.
- Implemented various test cases to ensure the reliability of object parsing and rendering logic in the dungeon editor.
2025-09-24 12:44:14 -04:00
scawful
d5ec1ece19 Update window creation in TestEditor to support resizable windows
- Modified the CreateWindow function call to include the SDL_WINDOW_RESIZABLE flag, allowing for dynamic window resizing during integration tests.
2025-09-13 11:45:51 -04:00
scawful
e2aab3f2e4 Add transaction management for atomic ROM operations with rollback
- Introduced a Transaction class to handle atomic write operations to ROM, allowing for rollback on failure.
- Implemented methods for writing bytes, words, longs, vectors, and colors, with status checks and operation logging.
- Added a rollback mechanism to restore original values in case of write failures.
- Enhanced unit tests to verify transaction rollback functionality and ensure data integrity after failed operations.
2025-09-13 11:45:29 -04:00
scawful
7f60ddcd42 test housekeeping 2025-08-21 19:01:40 -04:00
scawful
f632650568 Update SnesColor constructor and add SnesTile tests
- Changed SnesColor constructor to remove constexpr, improving compatibility with non-constant expressions.
- Added new tests for SnesTile functionality, including unpacking, packing, and conversion between different bit depths.
- Enhanced TileInfo and Tile32 tests to verify construction, operations, and bit manipulation for better coverage.
2025-05-15 23:05:25 -04:00
scawful
47ab1bdfd5 Add tests for ParseSingleMessage handling special characters and dictionary references
- Introduced tests for ParseSingleMessage to validate parsing of special characters and dictionary references.
- Added a test case for handling invalid terminators in message data.
- Enhanced existing tests for better coverage of message parsing scenarios.
2025-05-15 22:59:02 -04:00
scawful
fcb6a46bb1 Refactor Renderer access and improve gesture handling in iOS and test files
- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Enhanced gesture handling in iOS by adding mouse position events for touch gestures.
- Streamlined test initialization for ImGui to align with recent renderer access changes.
2025-05-08 19:39:49 -04:00
scawful
6e09630733 Refactor HandleHexStringParams to modify hex string directly and add hex_test for comprehensive testing of hex conversion functions with various prefixes. 2025-05-03 14:09:35 -04:00
scawful
6c6f7a9581 Add comprehensive tests for SnesColor and SnesPalette classes, including constructors, color addition, updating, sub-palettes, and iterator functionality; ensure proper behavior and state management in various scenarios. 2025-04-17 22:12:14 -04:00
scawful
f43328a1ae Update overworld loading logic to use Rom pointers directly; adjust test cases for consistency. 2025-04-12 11:29:45 -04:00
scawful
cb86c7b2ec Add TestEditor class and integration test setup for ImGui; implement basic UI elements and test registration functionality. 2025-04-12 09:59:47 -04:00
scawful
e38a7d7581 Fix formatting in ParseTextDataByte and optimize message handling in ReadAllTextDataV2 2025-04-05 17:50:49 -04:00
scawful
2539724369 Add unit tests for message parsing and dictionary word replacement functions 2025-04-05 17:26:03 -04:00
scawful
9705745c14 Refactor MessageTest: remove unused tests and enhance message parsing validation 2025-04-05 14:07:24 -04:00
scawful
0d4ae946f8 Refactor TestEditor: move to yaze::test namespace and implement Save/Load methods 2025-04-05 13:47:07 -04:00
scawful
358520fcae Remove test editor integration from Controller and update integration test logic 2025-03-11 20:11:47 -04:00
scawful
b707345a06 Add MockRom class for unit testing ROM interactions 2025-03-03 17:08:24 -05:00
scawful
26cda69d44 Refactor common functionality into zelda3 namespace; remove references to core::common 2025-01-22 13:53:01 -05:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
fa33be3463 Add tests for ParseSingleMessage function in message_test.cc 2025-01-19 20:01:57 -05:00
scawful
5afaecf1ee Refactor test includes 2025-01-19 19:14:53 -05:00
scawful
e4cc3b977a Move test dir to root 2025-01-19 19:09:39 -05:00
scawful
096b10ff77 move test directory into src 2024-07-24 01:55:13 -04:00
scawful
4582a18f53 Move GfxContext to editor/utils, update CMakeLists.txt 2024-07-19 23:07:04 -04:00
scawful
da7f3a44eb housekeeping 2024-07-14 14:31:30 -04:00
scawful
5741596a89 Remove unused targets from build 2024-04-23 14:07:02 -04:00
scawful
97f74b9c4b Remove emu tests from build, as interfaces have changed and will be updated later 2024-04-22 17:00:24 -04:00
scawful
1a4563f9e7 overhaul cleanups 2024-04-22 15:58:39 -04:00
scawful
c6df32ffe8 Add test for AsmParser::Tokenize 2024-04-19 21:45:51 -04:00
scawful
7e46cf1c64 Rename ROM class to Rom 2024-04-14 14:47:17 -05:00
scawful
2aa9bce9ca Move editor interface to editor/utils 2024-04-14 10:00:33 -05:00
scawful
ce2cae2242 Rearrange test namespaces 2024-04-14 09:30:21 -05:00
scawful
f653517026 add memory namespace, update comments 2024-04-13 23:56:41 -05:00
scawful
e45322d070 Update test fixtures 2024-04-13 23:39:45 -05:00
scawful
ad08d998b5 Add audio namespace inside of emu 2024-04-13 23:32:30 -05:00
scawful
494f991af4 fix cpu tests for stack relative mock 2024-02-09 21:44:12 -05:00
scawful
693dca1329 Rename SNESPalette, SNESColor to SnesPalette, SnesColor
Create snes_color.h and snes_color.cc to separate concerns
2024-01-31 21:09:42 -05:00
scawful
ee179a5598 housekeeping for GfxContext and Room logging 2024-01-28 12:05:50 -05:00
scawful
c4a44fbc10 update snes palette test, color accessor no longer throws exceptions 2024-01-26 23:29:00 -05:00
scawful
98394a6139 Add TODO to fix COP test 2024-01-22 20:30:57 -05:00
scawful
5455b2a425 Add ResourceLabelManager class 2024-01-22 03:26:37 -05:00
scawful
aeb437708f Cpu and Spc700 tests 2023-12-19 18:40:34 -05:00
scawful
a0c2349d0b Copy image to clipboard for GraphicsEditor 2023-12-17 21:07:48 -05:00
scawful
813b2e2a62 Update Spc700 tests 2023-12-10 02:14:56 -05:00
scawful
87db938963 cleanup spc700 and add todos 2023-12-06 01:32:59 -05:00
scawful
d0c9229093 Reorganize emu cpu directory 2023-12-05 21:16:16 -05:00
scawful
042d07abdf Update build files for spc700 addressing 2023-12-05 03:48:26 -05:00
scawful
2c5a9f904d Update Spc700 tests, add IPL rom test 2023-12-05 03:47:57 -05:00
scawful
dbedd83612 Update COP test 2023-12-03 06:16:55 -05:00