File size: 1,039 Bytes
2113a6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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}"