-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_piskvorky.py
133 lines (108 loc) · 3.68 KB
/
test_piskvorky.py
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import pytest
from piskvorky import tah, tah_pocitace, vyhodnot
def test_vyhodnot_vyhra_x():
"""
Křížky vyhrály.
"""
assert vyhodnot("xxx-----------------") == "x"
assert vyhodnot("--------xxx---------") == "x"
assert vyhodnot("-----------------xxx") == "x"
assert vyhodnot("-xoxoxxxoxoxoxoxoxox") == "x"
assert vyhodnot("-xooxxooxxooxxoxxxoo") == "x"
assert vyhodnot("xxxoxoxoxoxoxoxoxox-") == "x"
assert vyhodnot("oxxxoxoxxooxxooxxoo-") == "x"
assert vyhodnot("oxoxoxoxo-oxoxoxoxxx") == "x"
assert vyhodnot("xxooxxoox-ooxxooxxxo") == "x"
def test_vyhodnot_vyhra_o():
"""
Kolečka vyhrála.
"""
assert vyhodnot("ooo-----------------") == "o"
assert vyhodnot("--------ooo---------") == "o"
assert vyhodnot("-----------------ooo") == "o"
assert vyhodnot("-xoxoxoxoooxoxoxoxox") == "o"
assert vyhodnot("-xoooxooxxooxxooxxoo") == "o"
assert vyhodnot("xoooxoxoxoxoxoxoxox-") == "o"
assert vyhodnot("oooxxooxxooxxooxxoo-") == "o"
assert vyhodnot("oxoxoxoxo-oxoxoxooox") == "o"
assert vyhodnot("xxooxxoox-ooxxooxooo") == "o"
def test_vyhodnot_remiza():
"""
Nastala remíza.
"""
assert vyhodnot("oxoxoxoxoxoxoxoxoxox") == "!"
assert vyhodnot("xxooxxooxxooxxooxxoo") == "!"
def test_vyhodnot_hra():
"""
Hra neskončila.
"""
assert vyhodnot("--------------------") == "-"
assert vyhodnot("xx----------------oo") == "-"
assert vyhodnot("-xoxoxoxoxoxoxoxoxox") == "-"
assert vyhodnot("-xooxxooxxooxxooxxoo") == "-"
assert vyhodnot("xoxoxoxoxoxoxoxoxox-") == "-"
assert vyhodnot("xooxxooxxooxxooxxoo-") == "-"
assert vyhodnot("oxoxoxoxo-oxoxoxoxox") == "-"
assert vyhodnot("xxooxxoox-ooxxooxxoo") == "-"
def test_tah_x():
"""
Pozitivní testy se symbolem "x".
"""
assert tah("--------------------", 0, "x") == "x-------------------"
assert tah("--------------------", 10, "x") == "----------x---------"
assert tah("--------------------", 19, "x") == "-------------------x"
def test_tah_o():
"""
Pozitivní testy se symbolem "o".
"""
assert tah("--------------------", 0, "o") == "o-------------------"
assert tah("--------------------", 10, "o") == "----------o---------"
assert tah("--------------------", 19, "o") == "-------------------o"
def test_tah_pocitace_prazdne():
"""
Hra na prázdné pole.
"""
pole = "--------------------"
result = tah_pocitace(pole)
assert len(result) == 20
assert result.count("-") == 19
assert result.count("o") == 1
def test_tah_pocitace_skoro_plne():
"""
Hra na skoro plné pole (volno uprostřed).
"""
pole = "xoxoxoxoxo-xoxoxoxox"
result = tah_pocitace(pole)
assert len(result) == 20
assert result.count("x") == 10
assert result.count("o") == 10
def test_tah_pocitace_skoro_plne_zacatek():
"""
Hra na skoro plné pole (volno na začátku).
"""
pole = "-xoxoxoxoxoxoxoxoxox"
result = tah_pocitace(pole)
assert len(result) == 20
assert result.count("x") == 10
assert result.count("o") == 10
def test_tah_pocitace_skoro_plne_konec():
"""
Hra na skoro plné pole (volno na konci).
"""
pole = "xoxoxoxoxoxoxoxoxox-"
result = tah_pocitace(pole)
assert len(result) == 20
assert result.count("x") == 10
assert result.count("o") == 10
def test_tah_pocitace_skoro_plne_konec_2():
"""
Hra na skoro plné pole (2× volno na konci).
"""
pole = "xooxxooxoxoxoxooxx--"
result = tah_pocitace(pole)
assert len(result) == 20
assert result.count("x") == 9
assert result.count("o") == 10
assert result.count("-") == 1
if __name__ == "__main__":
pytest.main()