LovecaSim / compiler /tests /test_robustness.py
trioskosmos's picture
Upload folder using huggingface_hub
2113a6a verified
from compiler.parser import AbilityParser
def test_debug_parser():
parser = AbilityParser()
cases = [
("Slash", "{{toujyou.png|η™»ε ΄}}/{{live_start.png|ラむブ開始時}} カードを1ζžšεΌ•γγ€‚"),
("Parens", "{{toujyou.png|η™»ε ΄}} カードを1ζžšεΌ•γγ€‚οΌˆγ“γ‚Œγ―θͺ¬ζ˜Žζ–‡γ§γ™γ€‚οΌ‰"),
("Modal-", "δ»₯下から1ε›žγ‚’ιΈγΆγ€‚\\n- カードを1ζžšεΌ•γγ€‚\\n- γ‚Ήγ‚³γ‚’+1。"),
("Choose2", "δ»₯下から2぀を選ぢ。\\n・カードを1ζžšεΌ•γγ€‚\\n・スコを+1。\\n・エネチャージ。"),
]
# Just verify that parsing these strings produces valid non-empty ability lists
# without crashing.
for name, text in cases:
print(f"Testing case: {name}")
abs_list = parser.parse_ability_text(text)
assert len(abs_list) > 0, f"Failed to parse {name}"
# Additional sanity checks depending on expected logic
for a in abs_list:
assert a.trigger is not None, f"Trigger is None for {name}"