feat(command-zone): add logic layer with tests

Implement CommandZoneLogic - the card data management layer for zones.
This layer handles card insertion, removal, and ordering independently
of Qt graphics rendering.

Key components:
- CommandZoneLogic: manages card data within a zone
- AddCardAlgorithm: generic insertion algorithm for ordered zones
- CardZoneLogic modifications: integrate with existing zone hierarchy

Design decisions:
- Separation of data logic from graphics enables unit testing
- addCardImpl uses a stable insertion algorithm for consistent ordering
- Mock card items enable testing without Qt graphics dependencies

Test coverage verifies card insertion behavior across edge cases.
This commit is contained in:
DawnFire42 2026-02-26 15:49:38 -05:00
parent 3c2e4a3fb2
commit 8422357878
10 changed files with 480 additions and 5 deletions

View file

@ -0,0 +1,4 @@
#include "mock_card_item.h"
// MOC requires at least one non-inline method in a translation unit
// when using Q_OBJECT macro. This file provides that.