Files

39 lines
1.4 KiB
Python

"""
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"