✅ Data is frozen
| Category | Ability |
| Status | Passing |
| Test | tests/test_data_loader.py::test_data_is_frozen |
PRECONDITIONS:
Preconditions
- Unit data loaded
Action
- Attempt to mutate unit.hp.
unit = get_unit("001")
with pytest.raises((AttributeError, TypeError)):
unit.hp = 999
Expected Postconditions
-
Raises FrozenInstanceError (a subclass of AttributeError).
-
The original UNITS dict is unchanged.
-
This ensures unit data is treated as immutable constants.