1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  | 
#!/usr/bin/env python3
import os
import sys
sys.path.append(os.getcwd())
from solver import *
def test_is_swappable():
    assert is_swappable(Kana("norm", "su"), Kana("norm", "su"))
    assert is_swappable(Kana("froz", "su"), Kana("norm", "su"))
    assert is_swappable(Kana("norm", "su"), Kana("empt"))
    assert is_swappable(Kana("empt"), Kana("froz", "su"))
    assert not is_swappable(Kana("norm", "su"), Kana("rock", "su"))
    assert not is_swappable(Kana("froz", "su"), Kana("froz", "su"))
    assert not is_swappable(Kana("empt"), Kana("empt"))
def test_kana_grid():
    initial_grid = [
        kana_void         , Kana("myst", "su"), kana_void         , Kana("myst", "ko"), kana_void         ,
        Kana("froz", "se"), Kana("empt"      ), Kana("empt"      ), Kana("empt"      ), Kana("froz", "so"),
        Kana("froz", "ku"), Kana("empt"      ), Kana("empt"      ), Kana("empt"      ), Kana("froz", "no"),
        kana_void         , kana_void         , Kana("rock", "ka"), kana_void         , kana_void         ,
    ]
    initial_grid_size = 5, 4
    chain_target = 7
    expected_grid = [
        kana_void         , Kana("myst", "su"), kana_void         , Kana("myst", "ko"), kana_void         ,
        Kana("empt"      ), Kana("empt"      ), Kana("empt"      ), Kana("froz", "se"), Kana("froz", "so"),
        Kana("froz", "ku"), Kana("empt"      ), Kana("empt"      ), Kana("empt"      ), Kana("froz", "no"),
        kana_void         , kana_void         , Kana("rock", "ka"), kana_void         , kana_void         ,
    ]
    kanagrid_orig = KanaGrid(initial_grid_size, initial_grid)
    kanagrid_new  = kanagrid_orig.action(pos=(0, 1), action_type="right")
    print("kanagrid_orig")
    print(kanagrid_orig)
    print("kanagrid_new")
    print(kanagrid_new)
    print("expected_grid")
    display_grid(expected_grid, initial_grid_size)
    assert kanagrid_new.grid == expected_grid
 
  |