Develop and Download Open Source Software

Browse Subversion Repository

Contents of /ShogiNextMove.Test/KifuTest.vb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 76 - (show annotations) (download)
Mon Feb 22 06:48:06 2016 UTC (8 years ago) by bellyoshi
File size: 16302 byte(s)


1 Imports System.Text
2 Imports ShogiNextMove.Board.Kifu
3 Imports ShogiNextMove.Board.Koma
4 Imports ShogiNextMove.Board
5
6 <TestClass()>
7 Public Class KifuTest
8
9 <TestMethod()>
10 Public Sub ReadCSAStringTest0()
11 Dim kifuStr As String = "' ---- Kifu for Windows V6.62 CSA形式棋譜ファイル ----" +
12 "V2.2" + vbCr +
13 "$START_TIME:2014/08/26 14:10:08" + vbCr +
14 "$END_TIME:2014/08/26 17:01:28" + vbCr +
15 "P1 * * * * * * * -KE-KY" + vbCr +
16 "P2 * * * * * -GI-OU-KA * " + vbCr +
17 "P3 * * * * * -FU-FU-FU-FU" + vbCr +
18 "P4 * * * * * * * * * " + vbCr +
19 "P5 * * * * * * * * * " + vbCr +
20 "P6 * * * * * * * * * " + vbCr +
21 "P7 * * * * * * +FU * +FU" + vbCr +
22 "P8 * * * * * * * +HI * " + vbCr +
23 "P9 * * * * * * * +KE+KY" + vbCr +
24 "P+00FU00FU00FU" + vbCr +
25 "+" + vbCr +
26 "+0024FU,T1" + vbCr +
27 "-2324FU,T2" + vbCr +
28 "+0025FU,T1" + vbCr +
29 "-2425FU,T1" + vbCr +
30 "+0024FU,T1" + vbCr +
31 "-3334FU,T13" + vbCr +
32 "+2825HI,T1" + vbCr +
33 "%TORYO,T1"
34 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
35 Assert.AreEqual(Nothing, Kifu.SenteName)
36 Assert.AreEqual(9, kifu.KyokumenList.Count)
37
38
39 End Sub
40
41 <TestMethod()>
42 Public Sub ReadCSAStringTest()
43 Dim kifuStr As String = "' ---- Kifu for Windows V6.62 CSA形式棋譜ファイル ----" +
44 "V2(0.2)" +
45 "$START_TIME:2014/08/19 20:33:10" + vbCr +
46 "$END_TIME:2014/08/19 20:33:18" + vbCr +
47 "P1 * * * * * * -GI-KE-KY" + vbCr +
48 "P2 * * * * * * -KI-KA * " + vbCr +
49 "P3 * * * * * * -FU * -FU" + vbCr +
50 "P4 * * * * * * * * * " + vbCr +
51 "P5 * * * * * * * * * " + vbCr +
52 "P6 * * * * * * * * * " + vbCr +
53 "P7 * * * * * * * * * " + vbCr +
54 "P8 * * * * * * * +HI * " + vbCr +
55 "P9 * * * * * * * * * " + vbCr +
56 "P+00FU" + vbCr +
57 "P-00HI00KA00KI00KI00KI00GI00GI00GI00KE00KE00KE00KY00KY00KY00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU00FU" + vbCr +
58 "+" + vbCr +
59 "+0024FU,T2" + vbCr +
60 "%TORYO,T6"
61 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
62 Assert.AreEqual(Nothing, kifu.SenteName)
63 Assert.AreEqual(3, kifu.KyokumenList.Count)
64 Dim initKyokumen As Kyokumen = kifu.KyokumenList(0)
65 Assert.AreEqual(GOTE_FU, initKyokumen.GetMasu(3, 3).Value)
66 Assert.AreEqual(SENTE_HISYA, initKyokumen.GetMasu(2, 8).Value)
67 Assert.AreEqual(GOTE_KAKU, initKyokumen.GetMasu(2, 2).Value)
68 Assert.AreEqual(GOTE_KYO, initKyokumen.GetMasu(1, 1).Value)
69 Assert.AreEqual(CByte(0), initKyokumen.GetMasu(8, 8).Value)
70 Assert.AreEqual(CByte(0), initKyokumen.GetMasu(5, 1).Value)
71
72 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_HISYA))
73 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_KAKU))
74 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_KIN))
75 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_GIN))
76 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_KEI))
77 Assert.AreEqual(1, initKyokumen.Hand(Koma.SENTE_FU))
78
79 Assert.AreEqual(0, initKyokumen.Hand(Koma.SENTE_KYO))
80 Assert.AreEqual(1, initKyokumen.Hand(Koma.GOTE_HISYA))
81 Assert.AreEqual(1, initKyokumen.Hand(Koma.GOTE_KAKU))
82 Assert.AreEqual(3, initKyokumen.Hand(Koma.GOTE_KIN))
83 Assert.AreEqual(3, initKyokumen.Hand(Koma.GOTE_GIN))
84 Assert.AreEqual(3, initKyokumen.Hand(Koma.GOTE_KEI))
85 Assert.AreEqual(3, initKyokumen.Hand(Koma.GOTE_KYO))
86 Assert.AreEqual(15, initKyokumen.Hand(Koma.GOTE_FU))
87
88 End Sub
89
90 <TestMethod()>
91 Public Sub ReadCSAStringTest2()
92 Dim kifuStr = "V2(0.2)" + vbCr +
93 "PI" + vbCr +
94 "+"
95 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
96 Assert.AreEqual(1, kifu.KyokumenList.Count)
97 Assert.AreEqual(True, KyokumenHaichiComp.HaichiIsEqual(kifu.KyokumenList(0), New Haichi.Hirate))
98 End Sub
99
100 <TestMethod()>
101 Public Sub ReadCSAStringTest3()
102 Dim kifuStr = "V2(0.2)" + vbCr +
103 "PI82HI22KA" + vbCr +
104 "+"
105 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
106 Assert.AreEqual(1, kifu.KyokumenList.Count)
107 Assert.AreEqual(True, KyokumenHaichiComp.HaichiIsEqual(kifu.KyokumenList(0), New Haichi.Nimaiochi))
108 End Sub
109
110
111 <TestMethod()>
112 Public Sub ReadCSAStringTest4()
113 Dim kifuStr As String = "' ---- Kifu for Windows V6.62 CSA形式棋譜ファイル ----" +
114 "V2(0.2)" +
115 "$START_TIME:2014/08/19 20:33:10" + vbCr +
116 "$END_TIME:2014/08/19 20:33:18" + vbCr +
117 "P1 * * * * * * -GI-KE-KY" + vbCr +
118 "P2 * * * * * * -KI-KA * " + vbCr +
119 "P3 * * * * * * -FU * -FU" + vbCr +
120 "P4 * * * * * * * * * " + vbCr +
121 "P5 * * * * * * * * * " + vbCr +
122 "P6 * * * * * * * * * " + vbCr +
123 "P7 * * * * * * * * * " + vbCr +
124 "P8 * * * * * * * +HI * " + vbCr +
125 "P9 * * * * * * * * * " + vbCr +
126 "P+00FU" + vbCr +
127 "P-00AL" + vbCr +
128 "+" + vbCr +
129 "+0024FU,T2" + vbCr +
130 "%TORYO,T6"
131 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
132 Assert.AreEqual(Nothing, kifu.SenteName)
133 Assert.AreEqual(3, kifu.KyokumenList.Count)
134 Dim initKyokumen As Kyokumen = kifu.KyokumenList(0)
135 Assert.AreEqual(Koma.GOTE_FU, initKyokumen.GetMasu(3, 3).Value)
136 Assert.AreEqual(Koma.SENTE_HISYA, initKyokumen.GetMasu(2, 8).Value)
137 Assert.AreEqual(CByte(0), initKyokumen.GetMasu(2, 4).Value)
138 Assert.AreEqual(Koma.GOTE_KAKU, initKyokumen.GetMasu(2, 2).Value)
139 Assert.AreEqual(Koma.GOTE_KYO, initKyokumen.GetMasu(1, 1).Value)
140 Assert.AreEqual(CByte(0), initKyokumen.GetMasu(8, 8).Value)
141 Assert.AreEqual(CByte(0), initKyokumen.GetMasu(5, 1).Value)
142
143 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_HISYA))
144 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_KAKU))
145 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_KIN))
146 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_GIN))
147 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_KEI))
148 Assert.AreEqual(0, initKyokumen.SenteHand(Koma.C_KYO))
149 Assert.AreEqual(1, initKyokumen.SenteHand(Koma.C_FU))
150
151 Assert.AreEqual(1, initKyokumen.GoteHand(Koma.C_HISYA))
152 Assert.AreEqual(1, initKyokumen.GoteHand(Koma.C_KAKU))
153 Assert.AreEqual(3, initKyokumen.GoteHand(Koma.C_KIN))
154 Assert.AreEqual(3, initKyokumen.GoteHand(Koma.C_GIN))
155 Assert.AreEqual(3, initKyokumen.GoteHand(Koma.C_KEI))
156 Assert.AreEqual(3, initKyokumen.GoteHand(Koma.C_KYO))
157 Assert.AreEqual(15, initKyokumen.GoteHand(Koma.C_FU))
158
159 Dim nextKyokumen As Kyokumen = kifu.KyokumenList(1)
160 Assert.AreEqual(Koma.GOTE_FU, nextKyokumen.GetMasu(3, 3).Value)
161 Assert.AreEqual(Koma.SENTE_HISYA, nextKyokumen.GetMasu(2, 8).Value)
162 Assert.AreEqual(Koma.SENTE_FU, nextKyokumen.GetMasu(2, 4).Value)
163 Assert.AreEqual(Koma.GOTE_KAKU, nextKyokumen.GetMasu(2, 2).Value)
164 Assert.AreEqual(Koma.GOTE_KYO, nextKyokumen.GetMasu(1, 1).Value)
165 Assert.AreEqual(CByte(0), nextKyokumen.GetMasu(8, 8).Value)
166 Assert.AreEqual(CByte(0), nextKyokumen.GetMasu(5, 1).Value)
167
168 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_HISYA))
169 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_KAKU))
170 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_KIN))
171 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_GIN))
172 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_KEI))
173 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_KYO))
174 Assert.AreEqual(0, nextKyokumen.SenteHand(Koma.C_FU))
175
176 Assert.AreEqual(1, nextKyokumen.GoteHand(Koma.C_HISYA))
177 Assert.AreEqual(1, nextKyokumen.GoteHand(Koma.C_KAKU))
178 Assert.AreEqual(3, nextKyokumen.GoteHand(Koma.C_KIN))
179 Assert.AreEqual(3, nextKyokumen.GoteHand(Koma.C_GIN))
180 Assert.AreEqual(3, nextKyokumen.GoteHand(Koma.C_KEI))
181 Assert.AreEqual(3, nextKyokumen.GoteHand(Koma.C_KYO))
182 Assert.AreEqual(15, nextKyokumen.GoteHand(Koma.C_FU))
183
184 End Sub
185
186
187 <TestMethod()>
188 Public Sub ReadCSAStringTest5()
189 Dim kifuStr As String = "' ------ CSA 形式棋譜ファイル" + vbCr +
190 "' ----------- created by 激指" + vbCr +
191 "N+yoshi55_wata" + vbCr +
192 "N-Superboy2" + vbCr +
193 "' ---------------------- 盤面" + vbCr +
194 "' -9--8--7--6--5--4--3--2--1-" + vbCr +
195 "P1-KY-KE-GI-KI-OU-KI-GI-KE-KY" + vbCr +
196 "P2 * -HI * * * * * -KA * " + vbCr +
197 "P3-FU-FU-FU-FU-FU-FU-FU-FU-FU" + vbCr +
198 "P4 * * * * * * * * * " + vbCr +
199 "P5 * * * * * * * * * " + vbCr +
200 "P6 * * * * * * * * * " + vbCr +
201 "P7+FU+FU+FU+FU+FU+FU+FU+FU+FU" + vbCr +
202 "P8 * +KA * * * * * +HI * " + vbCr +
203 "P9+KY+KE+GI+KI+OU+KI+GI+KE+KY" + vbCr +
204 "' -------------------- 持ち駒" + vbCr +
205 "' ---------------------- 手番" + vbCr +
206 "+" + vbCr +
207 "' ---------- 指し手と考慮時間" + vbCr +
208 "'<analyze>0</analyze>" + vbCr +
209 "+7776FU" + vbCr + "T0" + vbCr +
210 "-3334FU" + vbCr + "T1" + vbCr +
211 "+2868HI" + vbCr + "T2" + vbCr +
212 "-6152KI" + vbCr + "T2" + vbCr +
213 "+5948OU" + vbCr + "T1" + vbCr +
214 "-7162GI" + vbCr + "T1" + vbCr +
215 "+4838OU" + vbCr + "T2" + vbCr +
216 "-4142KI" + vbCr + "T2" + vbCr +
217 "+3828OU" + vbCr + "T1" + vbCr +
218 "-5141OU" + vbCr + "T1" + vbCr +
219 "+8822UM" + vbCr + "T4" + vbCr +
220 "-3122GI" + vbCr + "T2" + vbCr +
221 "+7988GI" + vbCr + "T2" + vbCr +
222 "-3435FU" + vbCr + "T7" + vbCr +
223 "+8877GI" + vbCr + "T1" + vbCr +
224 "-2233GI" + vbCr + "T5" + vbCr +
225 "+1918KY" + vbCr + "T2" + vbCr +
226 "-1314FU" + vbCr + "T2" + vbCr +
227 "+2819OU" + vbCr + "T1" + vbCr +
228 "-1415FU" + vbCr + "T1" + vbCr +
229 "+3928GI" + vbCr + "T1" + vbCr +
230 "-3536FU" + vbCr + "T2" + vbCr +
231 "+3736FU" + vbCr + "T4" + vbCr +
232 "-4131OU" + vbCr + "T9" + vbCr +
233 "+4939KI" + vbCr + "T5" + vbCr +
234 "-5354FU" + vbCr + "T16" + vbCr +
235 "+6958KI" + vbCr + "T2" + vbCr +
236 "-6253GI" + vbCr + "T1" + vbCr +
237 "+5848KI" + vbCr + "T1" + vbCr +
238 "-9394FU" + vbCr + "T22" + vbCr +
239 "+9796FU" + vbCr + "T2" + vbCr +
240 "-9495FU" + vbCr + "T3" + vbCr +
241 "+9695FU" + vbCr + "T1" + vbCr +
242 "-9195KY" + vbCr + "T2" + vbCr +
243 "+9995KY" + vbCr + "T5" + vbCr +
244 "-0093FU" + vbCr + "T6" + vbCr +
245 "+6888HI" + vbCr + "T8" + vbCr +
246 "-5455FU" + vbCr + "T19" + vbCr +
247 "+8786FU" + vbCr + "T3" + vbCr +
248 "-5556FU" + vbCr + "T2" + vbCr +
249 "+7766GI" + vbCr + "T25" + vbCr +
250 "-5657TO" + vbCr + "T3" + vbCr +
251 "+6657GI" + vbCr + "T2" + vbCr +
252 "-0099KA" + vbCr + "T11" + vbCr +
253 "+8898HI" + vbCr + "T3" + vbCr +
254 "-9955UM" + vbCr + "T8" + vbCr +
255 "+9593NY" + vbCr + "T3" + vbCr +
256 "-8193KE" + vbCr + "T2" + vbCr +
257 "+9893RY" + vbCr + "T2" + vbCr +
258 "-7374FU" + vbCr + "T4" + vbCr +
259 "+0056KY" + vbCr + "T4" + vbCr +
260 "-5573UM" + vbCr + "T10" + vbCr +
261 "+0065KE" + vbCr + "T3" + vbCr +
262 "-7364UM" + vbCr + "T2" + vbCr +
263 "+6553NK" + vbCr + "T7" + vbCr +
264 "-5253KI" + vbCr + "T4" + vbCr +
265 "+5653NY" + vbCr + "T18" + vbCr +
266 "-4253KI" + vbCr + "T1" + vbCr +
267 "+0071KA" + vbCr + "T4" + vbCr +
268 "-8252HI" + vbCr + "T5" + vbCr +
269 "+8977KE" + vbCr + "T33" + vbCr +
270 "-1516FU" + vbCr + "T16" + vbCr +
271 "+1716FU" + vbCr + "T4" + vbCr +
272 "-0017FU" + vbCr + "T7" + vbCr +
273 "+1817KY" + vbCr + "T2" + vbCr +
274 "-0025KE" + vbCr + "T4" + vbCr +
275 "+0026GI" + vbCr + "T3" + vbCr +
276 "-1116KY" + vbCr + "T8" + vbCr +
277 "+1716KY" + vbCr + "T7" + vbCr +
278 "-0018FU" + vbCr + "T5" + vbCr +
279 "+1918OU" + vbCr + "T3" + vbCr +
280 "-0017KY" + vbCr + "T3" + vbCr +
281 "+2617GI" + vbCr + "T6" + vbCr +
282 "-2517NK" + vbCr + "T2" + vbCr +
283 "+1817OU" + vbCr + "T6" + vbCr +
284 "-0013KY" + vbCr + "T10" + vbCr +
285 "+0015FU" + vbCr + "T5" + vbCr +
286 "-3324GI" + vbCr + "T4" + vbCr +
287 "+0026KY" + vbCr + "T5" + vbCr +
288 "-1315KY" + vbCr + "T11" + vbCr +
289 "+1615KY" + vbCr + "T3" + vbCr +
290 "-0016FU" + vbCr + "T1" + vbCr +
291 "+1716OU" + vbCr + "T10" + vbCr +
292 "-2415GI" + vbCr + "T4" + vbCr +
293 "+1615OU" + vbCr + "T4" + vbCr +
294 "-0014KY" + vbCr + "T9" + vbCr +
295 "+1514OU" + vbCr + "T8" + vbCr +
296 "-5212HI" + vbCr + "T3" + vbCr +
297 "+1425OU" + vbCr + "T8" + vbCr +
298 "-2133KE" + vbCr + "T6" + vbCr +
299 "+2534OU" + vbCr + "T9" + vbCr +
300 "-5344KI" + vbCr + "T14" + vbCr +
301 "+3433OU" + vbCr + "T4" + vbCr +
302 "-6442UM" + vbCr + "T1" + vbCr +
303 "+3323OU" + vbCr + "T3" + vbCr +
304 "-1222HI" + vbCr + "T10" + vbCr +
305 "+2314OU" + vbCr + "T36" + vbCr +
306 "-2212HI" + vbCr + "T4" + vbCr +
307 "+0013FU" + vbCr + "T19" + vbCr +
308 "-4232UM" + vbCr + "T1" + vbCr +
309 "+0023KE" + vbCr + "T4" + vbCr +
310 "-3122OU" + vbCr + "T3" + vbCr +
311 "+1312TO" + vbCr + "T18" + vbCr +
312 "-2233OU" + vbCr + "T5" + vbCr +
313 "+0024KI" + vbCr + "T14" + vbCr +
314 "-3342OU" + vbCr + "T3" + vbCr +
315 "+0033GI" + vbCr + "T6" + vbCr +
316 "-3233UM" + vbCr + "T0" + vbCr +
317 "+9382RY" + vbCr + "T0" + vbCr +
318 "-0052GI" + vbCr + "T0" + vbCr +
319 "+2433KI" + vbCr + "T0" + vbCr +
320 "-4233OU" + vbCr + "T0" + vbCr +
321 "+0024KA" + vbCr + "T0" + vbCr +
322 "-3334OU" + vbCr + "T0" + vbCr +
323 "+0046KE" + vbCr + "T0" + vbCr +
324 "-3445OU" + vbCr + "T0" + vbCr +
325 "+0035HI" + vbCr + "T0" + vbCr +
326 "-4435KI" + vbCr + "T0" + vbCr +
327 "+7135UM" + vbCr + "T0" + vbCr +
328 "-4555OU" + vbCr + "T0" + vbCr +
329 "+0056KI" + vbCr + "T0" + vbCr +
330 "-5564OU" + vbCr + "T0" + vbCr +
331 "+5665KI" + vbCr + "T0"
332 Dim kifu As Kifu = (New CSAKifuReader).ReadCSAString(kifuStr)
333 Assert.AreEqual("yoshi55_wata", kifu.SenteName)
334 Assert.AreEqual("Superboy2", kifu.GoteName)
335 Assert.AreEqual(124, kifu.KyokumenList.Count)
336 Dim Kyokumen107 As Kyokumen = kifu.KyokumenList(107)
337 Assert.AreEqual(Koma.SENTE_GYOKU, Kyokumen107.GetMasu(1, 4).Value)
338 Assert.AreEqual(Koma.GOTE_OU, Kyokumen107.GetMasu(4, 2).Value)
339 Assert.AreEqual(Koma.GOTE_UMA, Kyokumen107.GetMasu(3, 2).Value)
340 Assert.AreEqual(Koma.SENTE_RYU, Kyokumen107.GetMasu(9, 3).Value)
341 End Sub
342
343 End Class

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26