mantimon-tcg/backend/tests/core
Cal Corum 8e084d250a Fix per-ability usage tracking (Issue #9)
Changed ability_uses_this_turn from int to dict[int, int] to track each
ability's usage independently:

- ability_uses_this_turn: dict[int, int] maps ability index to use count
- can_use_ability() now requires ability_index parameter
- Added get_ability_uses() and increment_ability_uses() helper methods
- reset_turn_state() clears the dict instead of setting to 0

This fixes the bug where using one ability could incorrectly block
another ability on the same Pokemon from being used.

789 tests passing.
2026-01-26 11:11:23 -06:00
..
test_effects Add CardDefinition validation for required fields (Issue #2) 2026-01-26 10:28:37 -06:00
test_models Fix per-ability usage tracking (Issue #9) 2026-01-26 11:11:23 -06:00
__init__.py Add game engine foundation: enums, config, and RNG modules 2026-01-24 22:14:45 -06:00
conftest.py Add CardDefinition validation for required fields (Issue #2) 2026-01-26 10:28:37 -06:00
test_config.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_coverage_gaps.py Add rules validator, win conditions checker, and coverage gap tests 2026-01-25 12:57:06 -06:00
test_engine.py Fix per-ability usage tracking (Issue #9) 2026-01-26 11:11:23 -06:00
test_evolution_stack.py Add CardDefinition validation for required fields (Issue #2) 2026-01-26 10:28:37 -06:00
test_rng.py Add game engine foundation: enums, config, and RNG modules 2026-01-24 22:14:45 -06:00
test_rules_validator.py Fix per-ability usage tracking (Issue #9) 2026-01-26 11:11:23 -06:00
test_turn_manager.py Add SelectPrizeAction executor and turn limit check (Issues #11, #15) 2026-01-26 11:04:03 -06:00
test_visibility.py Add CardDefinition validation for required fields (Issue #2) 2026-01-26 10:28:37 -06:00
test_win_conditions.py Add SelectPrizeAction executor and turn limit check (Issues #11, #15) 2026-01-26 11:04:03 -06:00