""" Tests for char module — IChar base class and CharacterCapabilities. Covers: character construction, capability dataclass, active skill tracking. """ import pytest from logger import Logger class TestCharacterCapabilities: def test_capabilities_dataclass(self): from char.capabilities import CharacterCapabilities caps = CharacterCapabilities(can_teleport_natively=True, can_teleport_with_charges=False) assert caps.can_teleport_natively is True assert caps.can_teleport_with_charges is False class TestIChar: def setup_method(self): Logger.init() Logger.remove_file_logger() def test_ichar_initializes_skill_hotkeys(self): from char.i_char import IChar char = IChar({"left_attack": "1", "right_attack": "2"}) assert char._skill_hotkeys["left_attack"] == "1" assert char._skill_hotkeys["right_attack"] == "2" def test_ichar_active_skill_defaults_empty(self): from char.i_char import IChar char = IChar({"left_attack": "1", "right_attack": "2"}) assert char._active_skill["left"] == "" assert char._active_skill["right"] == "" def test_ichar_set_active_skill(self): from char.i_char import IChar char = IChar({"left_attack": "1", "right_attack": "2"}) char._set_active_skill("left", "hammer") assert char._active_skill["left"] == "hammer"