What problem does it solve?
This Skill enables the creation of highly specific QA tests by allowing dynamic manipulation of the game's database in memory, which is crucial for testing complex rules and edge cases.
Core Features & Use Cases
- In-Memory Database Mutation: Load the
cards_compiled.json, convert it to a CardDatabase, and modify abilities or card data directly in memory before game state simulation.
- Targeted Ability Testing: Overwrite card ability bytecode to isolate and test specific mechanics without needing to satisfy complex in-game conditions.
- Direct Interpreter Calls: Unit test individual opcodes and bytecode logic by calling the interpreter directly.
- Full Event Pipeline Testing: Simulate end-to-end gameplay by enqueuing abilities and stepping through the game loop to test suspensions and responses.
Quick Start
Use the db_manipulation_testing skill to create a new test file in engine_rust_src/tests/ named repro_example_test.rs that manipulates card abilities in memory.