test/test-real-pgn.c

changeset 171
09f18c3316f9
parent 170
bde99d803caf
child 172
ba1bf80d10cc
equal deleted inserted replaced
170:bde99d803caf 171:09f18c3316f9
34 #error Need C23 compiler to compile this test. 34 #error Need C23 compiler to compile this test.
35 #endif 35 #endif
36 36
37 const char pgn_data[150][1500]; 37 const char pgn_data[150][1500];
38 38
39 /* we have no clock info here, resign also includes running out of clock */
40 enum expected_result {
41 EXPECTED_WRESIGN,
42 EXPECTED_BRESIGN,
43 EXPECTED_CHECKMATE,
44 EXPECTED_STALEMATE,
45 EXPECTED_THREEFOLD,
46 EXPECTED_NOMATERIAL,
47 };
48
49 static CX_TEST_SUBROUTINE(verify_expected_result,
50 const GameState *gs, enum expected_result rs) {
51 CX_TEST_ASSERT(gs->wresign == (rs == EXPECTED_WRESIGN));
52 CX_TEST_ASSERT(gs->bresign == (rs == EXPECTED_BRESIGN));
53 CX_TEST_ASSERT(gs->stalemate == (rs == EXPECTED_STALEMATE));
54 CX_TEST_ASSERT(gs->checkmate == (rs == EXPECTED_CHECKMATE));
55 CX_TEST_ASSERT(gs->threefold == (rs == EXPECTED_THREEFOLD));
56 CX_TEST_ASSERT(!gs->remis); /* no draw offers in example games */
57 // TODO: implement insufficient material detection
58
59 const Move *last_move = &gs->moves[gs->movecount-1];
60 CX_TEST_ASSERT((last_move->checkmate == 1) == (rs == EXPECTED_CHECKMATE));
61 }
62
39 static CX_TEST(test_real_pgn) { 63 static CX_TEST(test_real_pgn) {
40 static unsigned index = 0; 64 static unsigned index = 0;
41 ++index; 65 ++index;
42 GameState gamestate; 66 GameState gamestate;
43 // TODO: fix that we need an initialized game state for parsing PGNs 67 // TODO: fix that we need an initialized game state for parsing PGNs
44 gamestate_init(&gamestate); 68 gamestate_init(&gamestate);
45 CX_TEST_DO { 69 CX_TEST_DO {
46 int result = parse_pgn(pgn_data[index-1], &gamestate); 70 const enum expected_result rs = pgn_data[index-1][0];
71 const char *pgn = pgn_data[index-1]+1;
72 int result = parse_pgn(pgn, &gamestate);
47 char msg[64]; 73 char msg[64];
48 sprintf(msg, "failed to parse game%03u.pgn: code %d, pos: %zu", 74 sprintf(msg, "failed to parse game%03u.pgn: code %d, pos: %zu",
49 index, result, pgn_error_position()); 75 index, result, pgn_error_position());
50 CX_TEST_ASSERTM(result == pgn_no_error, msg); 76 CX_TEST_ASSERTM(result == pgn_no_error, msg);
51 } 77 CX_TEST_CALL_SUBROUTINE(verify_expected_result, &gamestate, rs);
52 gamestate_cleanup(&gamestate);
53 }
54
55 static CX_TEST_SUBROUTINE(test_real_pgn_stalemate_sub,
56 GameState *gamestate, int game) {
57 // TODO: fix that we need an initialized game state for parsing PGNs
58 gamestate_init(gamestate);
59 CX_TEST_ASSERT(0 == parse_pgn(pgn_data[game-1], gamestate));
60 CX_TEST_ASSERT(gamestate->stalemate);
61 CX_TEST_ASSERT(!gamestate->wresign);
62 CX_TEST_ASSERT(!gamestate->bresign);
63 CX_TEST_ASSERT(!gamestate->checkmate);
64 CX_TEST_ASSERT(!gamestate->remis);
65 CX_TEST_ASSERT(!gamestate->threefold);
66 gamestate_cleanup(gamestate);
67 }
68
69 static CX_TEST(test_real_pgn_stalemate) {
70 GameState gamestate;
71 CX_TEST_DO {
72 /* the below mentioned games end in stalemate position */
73 CX_TEST_CALL_SUBROUTINE(test_real_pgn_stalemate_sub, &gamestate, 128);
74 CX_TEST_CALL_SUBROUTINE(test_real_pgn_stalemate_sub, &gamestate, 146);
75 } 78 }
76 gamestate_cleanup(&gamestate); 79 gamestate_cleanup(&gamestate);
77 } 80 }
78 81
79 CxTestSuite* test_real_pgn_suite(void) { 82 CxTestSuite* test_real_pgn_suite(void) {
80 CxTestSuite* suite = cx_test_suite_new("Real PGN Files"); 83 CxTestSuite* suite = cx_test_suite_new("Real PGN Files");
81 for (unsigned i = 0 ; i < 150 ; i++) { 84 for (unsigned i = 0 ; i < 150 ; i++) {
82 cx_test_register(suite, test_real_pgn); 85 cx_test_register(suite, test_real_pgn);
83 } 86 }
84 cx_test_register(suite, test_real_pgn_stalemate);
85 return suite; 87 return suite;
86 } 88 }
87 89
88 const char pgn_data[150][1500] = { 90 const char pgn_data[150][1500] = {
89 { 91 {
92 EXPECTED_WRESIGN,
90 #embed "data/game001.pgn" 93 #embed "data/game001.pgn"
91 , '\0' 94 , '\0'
92 }, 95 },
93 { 96 {
97 EXPECTED_BRESIGN,
94 #embed "data/game002.pgn" 98 #embed "data/game002.pgn"
95 , '\0' 99 , '\0'
96 }, 100 },
97 { 101 {
102 EXPECTED_BRESIGN,
98 #embed "data/game003.pgn" 103 #embed "data/game003.pgn"
99 , '\0' 104 , '\0'
100 }, 105 },
101 { 106 {
107 EXPECTED_WRESIGN,
102 #embed "data/game004.pgn" 108 #embed "data/game004.pgn"
103 , '\0' 109 , '\0'
104 }, 110 },
105 { 111 {
112 EXPECTED_WRESIGN,
106 #embed "data/game005.pgn" 113 #embed "data/game005.pgn"
107 , '\0' 114 , '\0'
108 }, 115 },
109 { 116 {
117 EXPECTED_WRESIGN,
110 #embed "data/game006.pgn" 118 #embed "data/game006.pgn"
111 , '\0' 119 , '\0'
112 }, 120 },
113 { 121 {
122 EXPECTED_BRESIGN,
114 #embed "data/game007.pgn" 123 #embed "data/game007.pgn"
115 , '\0' 124 , '\0'
116 }, 125 },
117 { 126 {
127 EXPECTED_CHECKMATE,
118 #embed "data/game008.pgn" 128 #embed "data/game008.pgn"
119 , '\0' 129 , '\0'
120 }, 130 },
121 { 131 {
132 EXPECTED_CHECKMATE,
122 #embed "data/game009.pgn" 133 #embed "data/game009.pgn"
123 , '\0' 134 , '\0'
124 }, 135 },
125 { 136 {
137 EXPECTED_WRESIGN,
126 #embed "data/game010.pgn" 138 #embed "data/game010.pgn"
127 , '\0' 139 , '\0'
128 }, 140 },
129 { 141 {
142 EXPECTED_BRESIGN,
130 #embed "data/game011.pgn" 143 #embed "data/game011.pgn"
131 , '\0' 144 , '\0'
132 }, 145 },
133 { 146 {
147 EXPECTED_CHECKMATE,
134 #embed "data/game012.pgn" 148 #embed "data/game012.pgn"
135 , '\0' 149 , '\0'
136 }, 150 },
137 { 151 {
152 EXPECTED_WRESIGN,
138 #embed "data/game013.pgn" 153 #embed "data/game013.pgn"
139 , '\0' 154 , '\0'
140 }, 155 },
141 { 156 {
157 EXPECTED_BRESIGN,
142 #embed "data/game014.pgn" 158 #embed "data/game014.pgn"
143 , '\0' 159 , '\0'
144 }, 160 },
145 { 161 {
162 EXPECTED_BRESIGN,
146 #embed "data/game015.pgn" 163 #embed "data/game015.pgn"
147 , '\0' 164 , '\0'
148 }, 165 },
149 { 166 {
167 EXPECTED_CHECKMATE,
150 #embed "data/game016.pgn" 168 #embed "data/game016.pgn"
151 , '\0' 169 , '\0'
152 }, 170 },
153 { 171 {
172 EXPECTED_BRESIGN,
154 #embed "data/game017.pgn" 173 #embed "data/game017.pgn"
155 , '\0' 174 , '\0'
156 }, 175 },
157 { 176 {
177 EXPECTED_BRESIGN,
158 #embed "data/game018.pgn" 178 #embed "data/game018.pgn"
159 , '\0' 179 , '\0'
160 }, 180 },
161 { 181 {
182 EXPECTED_BRESIGN,
162 #embed "data/game019.pgn" 183 #embed "data/game019.pgn"
163 , '\0' 184 , '\0'
164 }, 185 },
165 { 186 {
187 EXPECTED_BRESIGN,
166 #embed "data/game020.pgn" 188 #embed "data/game020.pgn"
167 , '\0' 189 , '\0'
168 }, 190 },
169 { 191 {
192 EXPECTED_BRESIGN,
170 #embed "data/game021.pgn" 193 #embed "data/game021.pgn"
171 , '\0' 194 , '\0'
172 }, 195 },
173 { 196 {
197 EXPECTED_WRESIGN,
174 #embed "data/game022.pgn" 198 #embed "data/game022.pgn"
175 , '\0' 199 , '\0'
176 }, 200 },
177 { 201 {
202 EXPECTED_WRESIGN,
178 #embed "data/game023.pgn" 203 #embed "data/game023.pgn"
179 , '\0' 204 , '\0'
180 }, 205 },
181 { 206 {
207 EXPECTED_CHECKMATE,
182 #embed "data/game024.pgn" 208 #embed "data/game024.pgn"
183 , '\0' 209 , '\0'
184 }, 210 },
185 { 211 {
212 EXPECTED_WRESIGN,
186 #embed "data/game025.pgn" 213 #embed "data/game025.pgn"
187 , '\0' 214 , '\0'
188 }, 215 },
189 { 216 {
217 EXPECTED_BRESIGN,
190 #embed "data/game026.pgn" 218 #embed "data/game026.pgn"
191 , '\0' 219 , '\0'
192 }, 220 },
193 { 221 {
222 EXPECTED_THREEFOLD,
194 #embed "data/game027.pgn" 223 #embed "data/game027.pgn"
195 , '\0' 224 , '\0'
196 }, 225 },
197 { 226 {
227 EXPECTED_WRESIGN,
198 #embed "data/game028.pgn" 228 #embed "data/game028.pgn"
199 , '\0' 229 , '\0'
200 }, 230 },
201 { 231 {
232 EXPECTED_WRESIGN,
202 #embed "data/game029.pgn" 233 #embed "data/game029.pgn"
203 , '\0' 234 , '\0'
204 }, 235 },
205 { 236 {
237 EXPECTED_BRESIGN,
206 #embed "data/game030.pgn" 238 #embed "data/game030.pgn"
207 , '\0' 239 , '\0'
208 }, 240 },
209 { 241 {
242 EXPECTED_WRESIGN,
210 #embed "data/game031.pgn" 243 #embed "data/game031.pgn"
211 , '\0' 244 , '\0'
212 }, 245 },
213 { 246 {
247 EXPECTED_BRESIGN,
214 #embed "data/game032.pgn" 248 #embed "data/game032.pgn"
215 , '\0' 249 , '\0'
216 }, 250 },
217 { 251 {
252 EXPECTED_BRESIGN,
218 #embed "data/game033.pgn" 253 #embed "data/game033.pgn"
219 , '\0' 254 , '\0'
220 }, 255 },
221 { 256 {
257 EXPECTED_BRESIGN,
222 #embed "data/game034.pgn" 258 #embed "data/game034.pgn"
223 , '\0' 259 , '\0'
224 }, 260 },
225 { 261 {
262 EXPECTED_CHECKMATE,
226 #embed "data/game035.pgn" 263 #embed "data/game035.pgn"
227 , '\0' 264 , '\0'
228 }, 265 },
229 { 266 {
267 EXPECTED_BRESIGN,
230 #embed "data/game036.pgn" 268 #embed "data/game036.pgn"
231 , '\0' 269 , '\0'
232 }, 270 },
233 { 271 {
272 EXPECTED_BRESIGN,
234 #embed "data/game037.pgn" 273 #embed "data/game037.pgn"
235 , '\0' 274 , '\0'
236 }, 275 },
237 { 276 {
277 EXPECTED_BRESIGN,
238 #embed "data/game038.pgn" 278 #embed "data/game038.pgn"
239 , '\0' 279 , '\0'
240 }, 280 },
241 { 281 {
282 EXPECTED_WRESIGN,
242 #embed "data/game039.pgn" 283 #embed "data/game039.pgn"
243 , '\0' 284 , '\0'
244 }, 285 },
245 { 286 {
287 EXPECTED_BRESIGN,
246 #embed "data/game040.pgn" 288 #embed "data/game040.pgn"
247 , '\0' 289 , '\0'
248 }, 290 },
249 { 291 {
292 EXPECTED_BRESIGN,
250 #embed "data/game041.pgn" 293 #embed "data/game041.pgn"
251 , '\0' 294 , '\0'
252 }, 295 },
253 { 296 {
297 EXPECTED_BRESIGN,
254 #embed "data/game042.pgn" 298 #embed "data/game042.pgn"
255 , '\0' 299 , '\0'
256 }, 300 },
257 { 301 {
302 EXPECTED_BRESIGN,
258 #embed "data/game043.pgn" 303 #embed "data/game043.pgn"
259 , '\0' 304 , '\0'
260 }, 305 },
261 { 306 {
307 EXPECTED_BRESIGN,
262 #embed "data/game044.pgn" 308 #embed "data/game044.pgn"
263 , '\0' 309 , '\0'
264 }, 310 },
265 { 311 {
312 EXPECTED_CHECKMATE,
266 #embed "data/game045.pgn" 313 #embed "data/game045.pgn"
267 , '\0' 314 , '\0'
268 }, 315 },
269 { 316 {
317 EXPECTED_BRESIGN,
270 #embed "data/game046.pgn" 318 #embed "data/game046.pgn"
271 , '\0' 319 , '\0'
272 }, 320 },
273 { 321 {
322 EXPECTED_WRESIGN,
274 #embed "data/game047.pgn" 323 #embed "data/game047.pgn"
275 , '\0' 324 , '\0'
276 }, 325 },
277 { 326 {
327 EXPECTED_WRESIGN,
278 #embed "data/game048.pgn" 328 #embed "data/game048.pgn"
279 , '\0' 329 , '\0'
280 }, 330 },
281 { 331 {
332 EXPECTED_WRESIGN,
282 #embed "data/game049.pgn" 333 #embed "data/game049.pgn"
283 , '\0' 334 , '\0'
284 }, 335 },
285 { 336 {
337 EXPECTED_THREEFOLD,
286 #embed "data/game050.pgn" 338 #embed "data/game050.pgn"
287 , '\0' 339 , '\0'
288 }, 340 },
289 { 341 {
342 EXPECTED_BRESIGN,
290 #embed "data/game051.pgn" 343 #embed "data/game051.pgn"
291 , '\0' 344 , '\0'
292 }, 345 },
293 { 346 {
347 EXPECTED_CHECKMATE,
294 #embed "data/game052.pgn" 348 #embed "data/game052.pgn"
295 , '\0' 349 , '\0'
296 }, 350 },
297 { 351 {
352 EXPECTED_CHECKMATE,
298 #embed "data/game053.pgn" 353 #embed "data/game053.pgn"
299 , '\0' 354 , '\0'
300 }, 355 },
301 { 356 {
357 EXPECTED_CHECKMATE,
302 #embed "data/game054.pgn" 358 #embed "data/game054.pgn"
303 , '\0' 359 , '\0'
304 }, 360 },
305 { 361 {
362 EXPECTED_WRESIGN,
306 #embed "data/game055.pgn" 363 #embed "data/game055.pgn"
307 , '\0' 364 , '\0'
308 }, 365 },
309 { 366 {
367 EXPECTED_CHECKMATE,
310 #embed "data/game056.pgn" 368 #embed "data/game056.pgn"
311 , '\0' 369 , '\0'
312 }, 370 },
313 { 371 {
372 EXPECTED_BRESIGN,
314 #embed "data/game057.pgn" 373 #embed "data/game057.pgn"
315 , '\0' 374 , '\0'
316 }, 375 },
317 { 376 {
377 EXPECTED_CHECKMATE,
318 #embed "data/game058.pgn" 378 #embed "data/game058.pgn"
319 , '\0' 379 , '\0'
320 }, 380 },
321 { 381 {
382 EXPECTED_CHECKMATE,
322 #embed "data/game059.pgn" 383 #embed "data/game059.pgn"
323 , '\0' 384 , '\0'
324 }, 385 },
325 { 386 {
387 EXPECTED_BRESIGN,
326 #embed "data/game060.pgn" 388 #embed "data/game060.pgn"
327 , '\0' 389 , '\0'
328 }, 390 },
329 { 391 {
392 EXPECTED_WRESIGN,
330 #embed "data/game061.pgn" 393 #embed "data/game061.pgn"
331 , '\0' 394 , '\0'
332 }, 395 },
333 { 396 {
397 EXPECTED_BRESIGN,
334 #embed "data/game062.pgn" 398 #embed "data/game062.pgn"
335 , '\0' 399 , '\0'
336 }, 400 },
337 { 401 {
402 EXPECTED_WRESIGN,
338 #embed "data/game063.pgn" 403 #embed "data/game063.pgn"
339 , '\0' 404 , '\0'
340 }, 405 },
341 { 406 {
407 EXPECTED_CHECKMATE,
342 #embed "data/game064.pgn" 408 #embed "data/game064.pgn"
343 , '\0' 409 , '\0'
344 }, 410 },
345 { 411 {
412 EXPECTED_BRESIGN,
346 #embed "data/game065.pgn" 413 #embed "data/game065.pgn"
347 , '\0' 414 , '\0'
348 }, 415 },
349 { 416 {
417 EXPECTED_BRESIGN,
350 #embed "data/game066.pgn" 418 #embed "data/game066.pgn"
351 , '\0' 419 , '\0'
352 }, 420 },
353 { 421 {
422 EXPECTED_THREEFOLD,
354 #embed "data/game067.pgn" 423 #embed "data/game067.pgn"
355 , '\0' 424 , '\0'
356 }, 425 },
357 { 426 {
427 EXPECTED_BRESIGN,
358 #embed "data/game068.pgn" 428 #embed "data/game068.pgn"
359 , '\0' 429 , '\0'
360 }, 430 },
361 { 431 {
432 EXPECTED_WRESIGN,
362 #embed "data/game069.pgn" 433 #embed "data/game069.pgn"
363 , '\0' 434 , '\0'
364 }, 435 },
365 { 436 {
437 EXPECTED_BRESIGN,
366 #embed "data/game070.pgn" 438 #embed "data/game070.pgn"
367 , '\0' 439 , '\0'
368 }, 440 },
369 { 441 {
442 EXPECTED_BRESIGN,
370 #embed "data/game071.pgn" 443 #embed "data/game071.pgn"
371 , '\0' 444 , '\0'
372 }, 445 },
373 { 446 {
447 EXPECTED_BRESIGN,
374 #embed "data/game072.pgn" 448 #embed "data/game072.pgn"
375 , '\0' 449 , '\0'
376 }, 450 },
377 { 451 {
452 EXPECTED_WRESIGN,
378 #embed "data/game073.pgn" 453 #embed "data/game073.pgn"
379 , '\0' 454 , '\0'
380 }, 455 },
381 { 456 {
457 EXPECTED_BRESIGN,
382 #embed "data/game074.pgn" 458 #embed "data/game074.pgn"
383 , '\0' 459 , '\0'
384 }, 460 },
385 { 461 {
462 EXPECTED_BRESIGN,
386 #embed "data/game075.pgn" 463 #embed "data/game075.pgn"
387 , '\0' 464 , '\0'
388 }, 465 },
389 { 466 {
467 EXPECTED_WRESIGN,
390 #embed "data/game076.pgn" 468 #embed "data/game076.pgn"
391 , '\0' 469 , '\0'
392 }, 470 },
393 { 471 {
472 EXPECTED_BRESIGN,
394 #embed "data/game077.pgn" 473 #embed "data/game077.pgn"
395 , '\0' 474 , '\0'
396 }, 475 },
397 { 476 {
477 EXPECTED_CHECKMATE,
398 #embed "data/game078.pgn" 478 #embed "data/game078.pgn"
399 , '\0' 479 , '\0'
400 }, 480 },
401 { 481 {
482 EXPECTED_BRESIGN,
402 #embed "data/game079.pgn" 483 #embed "data/game079.pgn"
403 , '\0' 484 , '\0'
404 }, 485 },
405 { 486 {
487 EXPECTED_BRESIGN,
406 #embed "data/game080.pgn" 488 #embed "data/game080.pgn"
407 , '\0' 489 , '\0'
408 }, 490 },
409 { 491 {
492 EXPECTED_WRESIGN,
410 #embed "data/game081.pgn" 493 #embed "data/game081.pgn"
411 , '\0' 494 , '\0'
412 }, 495 },
413 { 496 {
497 EXPECTED_CHECKMATE,
414 #embed "data/game082.pgn" 498 #embed "data/game082.pgn"
415 , '\0' 499 , '\0'
416 }, 500 },
417 { 501 {
502 EXPECTED_WRESIGN,
418 #embed "data/game083.pgn" 503 #embed "data/game083.pgn"
419 , '\0' 504 , '\0'
420 }, 505 },
421 { 506 {
507 EXPECTED_CHECKMATE,
422 #embed "data/game084.pgn" 508 #embed "data/game084.pgn"
423 , '\0' 509 , '\0'
424 }, 510 },
425 { 511 {
512 EXPECTED_CHECKMATE,
426 #embed "data/game085.pgn" 513 #embed "data/game085.pgn"
427 , '\0' 514 , '\0'
428 }, 515 },
429 { 516 {
517 EXPECTED_CHECKMATE,
430 #embed "data/game086.pgn" 518 #embed "data/game086.pgn"
431 , '\0' 519 , '\0'
432 }, 520 },
433 { 521 {
522 EXPECTED_BRESIGN,
434 #embed "data/game087.pgn" 523 #embed "data/game087.pgn"
435 , '\0' 524 , '\0'
436 }, 525 },
437 { 526 {
527 EXPECTED_BRESIGN,
438 #embed "data/game088.pgn" 528 #embed "data/game088.pgn"
439 , '\0' 529 , '\0'
440 }, 530 },
441 { 531 {
532 EXPECTED_NOMATERIAL,
442 #embed "data/game089.pgn" 533 #embed "data/game089.pgn"
443 , '\0' 534 , '\0'
444 }, 535 },
445 { 536 {
537 EXPECTED_BRESIGN,
446 #embed "data/game090.pgn" 538 #embed "data/game090.pgn"
447 , '\0' 539 , '\0'
448 }, 540 },
449 { 541 {
542 EXPECTED_WRESIGN,
450 #embed "data/game091.pgn" 543 #embed "data/game091.pgn"
451 , '\0' 544 , '\0'
452 }, 545 },
453 { 546 {
547 EXPECTED_CHECKMATE,
454 #embed "data/game092.pgn" 548 #embed "data/game092.pgn"
455 , '\0' 549 , '\0'
456 }, 550 },
457 { 551 {
552 EXPECTED_BRESIGN,
458 #embed "data/game093.pgn" 553 #embed "data/game093.pgn"
459 , '\0' 554 , '\0'
460 }, 555 },
461 { 556 {
557 EXPECTED_WRESIGN,
462 #embed "data/game094.pgn" 558 #embed "data/game094.pgn"
463 , '\0' 559 , '\0'
464 }, 560 },
465 { 561 {
562 EXPECTED_WRESIGN,
466 #embed "data/game095.pgn" 563 #embed "data/game095.pgn"
467 , '\0' 564 , '\0'
468 }, 565 },
469 { 566 {
567 EXPECTED_WRESIGN,
470 #embed "data/game096.pgn" 568 #embed "data/game096.pgn"
471 , '\0' 569 , '\0'
472 }, 570 },
473 { 571 {
572 EXPECTED_BRESIGN,
474 #embed "data/game097.pgn" 573 #embed "data/game097.pgn"
475 , '\0' 574 , '\0'
476 }, 575 },
477 { 576 {
577 EXPECTED_BRESIGN,
478 #embed "data/game098.pgn" 578 #embed "data/game098.pgn"
479 , '\0' 579 , '\0'
480 }, 580 },
481 { 581 {
582 EXPECTED_BRESIGN,
482 #embed "data/game099.pgn" 583 #embed "data/game099.pgn"
483 , '\0' 584 , '\0'
484 }, 585 },
485 { 586 {
587 EXPECTED_WRESIGN,
486 #embed "data/game100.pgn" 588 #embed "data/game100.pgn"
487 , '\0' 589 , '\0'
488 }, 590 },
489 { 591 {
592 EXPECTED_WRESIGN,
490 #embed "data/game101.pgn" 593 #embed "data/game101.pgn"
491 , '\0' 594 , '\0'
492 }, 595 },
493 { 596 {
597 EXPECTED_WRESIGN,
494 #embed "data/game102.pgn" 598 #embed "data/game102.pgn"
495 , '\0' 599 , '\0'
496 }, 600 },
497 { 601 {
602 EXPECTED_BRESIGN,
498 #embed "data/game103.pgn" 603 #embed "data/game103.pgn"
499 , '\0' 604 , '\0'
500 }, 605 },
501 { 606 {
607 EXPECTED_WRESIGN,
502 #embed "data/game104.pgn" 608 #embed "data/game104.pgn"
503 , '\0' 609 , '\0'
504 }, 610 },
505 { 611 {
612 EXPECTED_BRESIGN,
506 #embed "data/game105.pgn" 613 #embed "data/game105.pgn"
507 , '\0' 614 , '\0'
508 }, 615 },
509 { 616 {
617 EXPECTED_WRESIGN,
510 #embed "data/game106.pgn" 618 #embed "data/game106.pgn"
511 , '\0' 619 , '\0'
512 }, 620 },
513 { 621 {
622 EXPECTED_WRESIGN,
514 #embed "data/game107.pgn" 623 #embed "data/game107.pgn"
515 , '\0' 624 , '\0'
516 }, 625 },
517 { 626 {
627 EXPECTED_BRESIGN,
518 #embed "data/game108.pgn" 628 #embed "data/game108.pgn"
519 , '\0' 629 , '\0'
520 }, 630 },
521 { 631 {
632 EXPECTED_WRESIGN,
522 #embed "data/game109.pgn" 633 #embed "data/game109.pgn"
523 , '\0' 634 , '\0'
524 }, 635 },
525 { 636 {
637 EXPECTED_WRESIGN,
526 #embed "data/game110.pgn" 638 #embed "data/game110.pgn"
527 , '\0' 639 , '\0'
528 }, 640 },
529 { 641 {
642 EXPECTED_BRESIGN,
530 #embed "data/game111.pgn" 643 #embed "data/game111.pgn"
531 , '\0' 644 , '\0'
532 }, 645 },
533 { 646 {
647 EXPECTED_BRESIGN,
534 #embed "data/game112.pgn" 648 #embed "data/game112.pgn"
535 , '\0' 649 , '\0'
536 }, 650 },
537 { 651 {
652 EXPECTED_CHECKMATE,
538 #embed "data/game113.pgn" 653 #embed "data/game113.pgn"
539 , '\0' 654 , '\0'
540 }, 655 },
541 { 656 {
657 EXPECTED_BRESIGN,
542 #embed "data/game114.pgn" 658 #embed "data/game114.pgn"
543 , '\0' 659 , '\0'
544 }, 660 },
545 { 661 {
662 EXPECTED_CHECKMATE,
546 #embed "data/game115.pgn" 663 #embed "data/game115.pgn"
547 , '\0' 664 , '\0'
548 }, 665 },
549 { 666 {
667 EXPECTED_WRESIGN,
550 #embed "data/game116.pgn" 668 #embed "data/game116.pgn"
551 , '\0' 669 , '\0'
552 }, 670 },
553 { 671 {
672 EXPECTED_BRESIGN,
554 #embed "data/game117.pgn" 673 #embed "data/game117.pgn"
555 , '\0' 674 , '\0'
556 }, 675 },
557 { 676 {
677 EXPECTED_WRESIGN,
558 #embed "data/game118.pgn" 678 #embed "data/game118.pgn"
559 , '\0' 679 , '\0'
560 }, 680 },
561 { 681 {
682 EXPECTED_BRESIGN,
562 #embed "data/game119.pgn" 683 #embed "data/game119.pgn"
563 , '\0' 684 , '\0'
564 }, 685 },
565 { 686 {
687 EXPECTED_BRESIGN,
566 #embed "data/game120.pgn" 688 #embed "data/game120.pgn"
567 , '\0' 689 , '\0'
568 }, 690 },
569 { 691 {
692 EXPECTED_BRESIGN,
570 #embed "data/game121.pgn" 693 #embed "data/game121.pgn"
571 , '\0' 694 , '\0'
572 }, 695 },
573 { 696 {
697 EXPECTED_BRESIGN,
574 #embed "data/game122.pgn" 698 #embed "data/game122.pgn"
575 , '\0' 699 , '\0'
576 }, 700 },
577 { 701 {
702 EXPECTED_BRESIGN,
578 #embed "data/game123.pgn" 703 #embed "data/game123.pgn"
579 , '\0' 704 , '\0'
580 }, 705 },
581 { 706 {
707 EXPECTED_BRESIGN,
582 #embed "data/game124.pgn" 708 #embed "data/game124.pgn"
583 , '\0' 709 , '\0'
584 }, 710 },
585 { 711 {
712 EXPECTED_BRESIGN,
586 #embed "data/game125.pgn" 713 #embed "data/game125.pgn"
587 , '\0' 714 , '\0'
588 }, 715 },
589 { 716 {
717 EXPECTED_BRESIGN,
590 #embed "data/game126.pgn" 718 #embed "data/game126.pgn"
591 , '\0' 719 , '\0'
592 }, 720 },
593 { 721 {
722 EXPECTED_WRESIGN,
594 #embed "data/game127.pgn" 723 #embed "data/game127.pgn"
595 , '\0' 724 , '\0'
596 }, 725 },
597 { 726 {
727 EXPECTED_STALEMATE,
598 #embed "data/game128.pgn" 728 #embed "data/game128.pgn"
599 , '\0' 729 , '\0'
600 }, 730 },
601 { 731 {
732 EXPECTED_BRESIGN,
602 #embed "data/game129.pgn" 733 #embed "data/game129.pgn"
603 , '\0' 734 , '\0'
604 }, 735 },
605 { 736 {
737 EXPECTED_WRESIGN,
606 #embed "data/game130.pgn" 738 #embed "data/game130.pgn"
607 , '\0' 739 , '\0'
608 }, 740 },
609 { 741 {
742 EXPECTED_BRESIGN,
610 #embed "data/game131.pgn" 743 #embed "data/game131.pgn"
611 , '\0' 744 , '\0'
612 }, 745 },
613 { 746 {
747 EXPECTED_BRESIGN,
614 #embed "data/game132.pgn" 748 #embed "data/game132.pgn"
615 , '\0' 749 , '\0'
616 }, 750 },
617 { 751 {
752 EXPECTED_BRESIGN,
618 #embed "data/game133.pgn" 753 #embed "data/game133.pgn"
619 , '\0' 754 , '\0'
620 }, 755 },
621 { 756 {
757 EXPECTED_BRESIGN,
622 #embed "data/game134.pgn" 758 #embed "data/game134.pgn"
623 , '\0' 759 , '\0'
624 }, 760 },
625 { 761 {
762 EXPECTED_BRESIGN,
626 #embed "data/game135.pgn" 763 #embed "data/game135.pgn"
627 , '\0' 764 , '\0'
628 }, 765 },
629 { 766 {
767 EXPECTED_CHECKMATE,
630 #embed "data/game136.pgn" 768 #embed "data/game136.pgn"
631 , '\0' 769 , '\0'
632 }, 770 },
633 { 771 {
772 EXPECTED_WRESIGN,
634 #embed "data/game137.pgn" 773 #embed "data/game137.pgn"
635 , '\0' 774 , '\0'
636 }, 775 },
637 { 776 {
777 EXPECTED_WRESIGN,
638 #embed "data/game138.pgn" 778 #embed "data/game138.pgn"
639 , '\0' 779 , '\0'
640 }, 780 },
641 { 781 {
782 EXPECTED_WRESIGN,
642 #embed "data/game139.pgn" 783 #embed "data/game139.pgn"
643 , '\0' 784 , '\0'
644 }, 785 },
645 { 786 {
787 EXPECTED_WRESIGN,
646 #embed "data/game140.pgn" 788 #embed "data/game140.pgn"
647 , '\0' 789 , '\0'
648 }, 790 },
649 { 791 {
792 EXPECTED_BRESIGN,
650 #embed "data/game141.pgn" 793 #embed "data/game141.pgn"
651 , '\0' 794 , '\0'
652 }, 795 },
653 { 796 {
797 EXPECTED_WRESIGN,
654 #embed "data/game142.pgn" 798 #embed "data/game142.pgn"
655 , '\0' 799 , '\0'
656 }, 800 },
657 { 801 {
802 EXPECTED_WRESIGN,
658 #embed "data/game143.pgn" 803 #embed "data/game143.pgn"
659 , '\0' 804 , '\0'
660 }, 805 },
661 { 806 {
807 EXPECTED_WRESIGN,
662 #embed "data/game144.pgn" 808 #embed "data/game144.pgn"
663 , '\0' 809 , '\0'
664 }, 810 },
665 { 811 {
812 EXPECTED_BRESIGN,
666 #embed "data/game145.pgn" 813 #embed "data/game145.pgn"
667 , '\0' 814 , '\0'
668 }, 815 },
669 { 816 {
817 EXPECTED_STALEMATE,
670 #embed "data/game146.pgn" 818 #embed "data/game146.pgn"
671 , '\0' 819 , '\0'
672 }, 820 },
673 { 821 {
822 EXPECTED_BRESIGN,
674 #embed "data/game147.pgn" 823 #embed "data/game147.pgn"
675 , '\0' 824 , '\0'
676 }, 825 },
677 { 826 {
827 EXPECTED_BRESIGN,
678 #embed "data/game148.pgn" 828 #embed "data/game148.pgn"
679 , '\0' 829 , '\0'
680 }, 830 },
681 { 831 {
832 EXPECTED_WRESIGN,
682 #embed "data/game149.pgn" 833 #embed "data/game149.pgn"
683 , '\0' 834 , '\0'
684 }, 835 },
685 { 836 {
837 EXPECTED_BRESIGN,
686 #embed "data/game150.pgn" 838 #embed "data/game150.pgn"
687 , '\0' 839 , '\0'
688 }, 840 },
689 }; 841 };

mercurial