1 <?xml version=
"1.0" encoding=
"iso-8859-1"?>
3 PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8 <title>test_eliminations (GameTest)
</title>
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1" />
10 <link rel=
"stylesheet" href=
"../.././rdoc-style.css" type=
"text/css" media=
"screen" />
12 <body class=
"standalone-code">
13 <pre><span class=
"ruby-comment cmt"># File test/libttc_test.rb, line
547</span>
14 <span class=
"ruby-keyword kw">def
</span> <span class=
"ruby-identifier">test_eliminations
</span>
15 <span class=
"ruby-identifier">game
</span> =
<span class=
"ruby-constant">Game
</span>.
<span class=
"ruby-identifier">new
</span>(
<span class=
"ruby-value">3</span>,
<span class=
"ruby-value">6</span>,
<span class=
"ruby-value">6</span>,
<span class=
"ruby-value">6</span>,
<span class=
"ruby-value">2</span>)
17 <span class=
"ruby-identifier">pieceA1
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>]
18 <span class=
"ruby-identifier">pieceA2
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>]
19 <span class=
"ruby-identifier">pieceC1
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>]
20 <span class=
"ruby-identifier">pieceC2
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>]
21 <span class=
"ruby-identifier">pieceE1
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>]
22 <span class=
"ruby-identifier">pieceE2
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>]
24 <span class=
"ruby-identifier">posAC5
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac5'
</span>]
25 <span class=
"ruby-identifier">posBC5
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'bc5'
</span>]
26 <span class=
"ruby-identifier">posCC5
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'cc5'
</span>]
27 <span class=
"ruby-identifier">posEC5
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ec5'
</span>]
28 <span class=
"ruby-identifier">posAC6
</span> =
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
30 <span class=
"ruby-identifier">move_set1
</span> = [
<span class=
"ruby-value str">'A1 AC5'
</span>,
<span class=
"ruby-value str">'A2 AC5'
</span>,
<span class=
"ruby-value str">'A1 AC6'
</span>,
31 <span class=
"ruby-value str">'C1 CC5'
</span>,
<span class=
"ruby-value str">'C2 CC5'
</span>,
<span class=
"ruby-value str">'C1 AC6'
</span>]
<span class=
"ruby-comment cmt"># A1 now captured by C1
</span>
32 <span class=
"ruby-identifier">move_set2
</span> = [
<span class=
"ruby-value str">'E1 EC5'
</span>,
<span class=
"ruby-value str">'E2 EC5'
</span>,
<span class=
"ruby-value str">'E1 AC6'
</span>]
<span class=
"ruby-comment cmt"># C1+A1 now caputred by E1
</span>
33 <span class=
"ruby-identifier">move_set3
</span> = [
<span class=
"ruby-value str">'A2 AC6'
</span>]
<span class=
"ruby-comment cmt"># E1+C1+A1 captured by A2
</span>
34 <span class=
"ruby-identifier">move_set4
</span> = [
<span class=
"ruby-value str">'C2 AC6'
</span>]
<span class=
"ruby-comment cmt"># A2+E1+C1+A1 captured by C2. Player A now eliminated
</span>
35 <span class=
"ruby-identifier">move_set5
</span> = [
<span class=
"ruby-value str">'E2 BC5'
</span>]
36 <span class=
"ruby-identifier">move_set6
</span> = [
<span class=
"ruby-value str">'C2 BC5'
</span>]
<span class=
"ruby-comment cmt"># C2 (plus stack) captures E2. Player E now eliminated
</span>
38 <span class=
"ruby-identifier">assert_equal
</span> [],
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">history
</span>
39 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'a'
</span>]
40 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
41 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
42 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'a'
</span>]
43 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
44 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
45 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'c'
</span>]
46 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
47 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
48 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'c'
</span>]
49 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
50 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
51 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'e'
</span>]
52 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
53 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
54 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'e'
</span>]
55 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
56 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
57 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'a'
</span>
59 <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set1
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)}
60 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">history
</span>.
<span class=
"ruby-identifier">length
</span>,
<span class=
"ruby-value">6</span>
61 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
62 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
63 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
64 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac5'
</span>]
65 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
66 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
67 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
68 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
69 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA1
</span>)
70 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'cc5'
</span>]
71 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
72 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
73 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'e'
</span>]
74 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
75 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
76 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'e'
</span>]
77 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
78 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
79 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'e'
</span>
81 <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set2
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)}
82 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
83 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
84 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
85 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac5'
</span>]
86 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
87 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
88 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
89 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
90 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
91 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'cc5'
</span>]
92 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
93 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
94 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
95 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
96 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA1
</span>)
97 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceC1
</span>)
98 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ec5'
</span>]
99 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
100 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
101 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'a'
</span>
103 <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set3
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)}
104 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
105 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
106 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
107 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
108 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
109 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA1
</span>)
110 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceC1
</span>)
111 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceE1
</span>)
112 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
113 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
114 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
115 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'cc5'
</span>]
116 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
117 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
118 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
119 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
120 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
121 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ec5'
</span>]
122 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
123 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
124 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'c'
</span>
126 <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set4
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)}
127 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
128 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
129 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
130 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
131 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
132 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
133 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
134 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
135 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
136 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
137 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
138 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA1
</span>)
139 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA2
</span>)
140 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceC1
</span>)
141 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceE1
</span>)
142 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
143 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
144 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
145 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ec5'
</span>]
146 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
147 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
148 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'e'
</span>
150 <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set5
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)}
151 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
152 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
153 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
154 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
155 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
156 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'a2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
157 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
158 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
159 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
160 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
161 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
162 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA1
</span>)
163 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceA2
</span>)
164 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceC1
</span>)
165 <span class=
"ruby-identifier">assert
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'c2'
</span>].
<span class=
"ruby-identifier">contains
</span>.
<span class=
"ruby-identifier">include?
</span>(
<span class=
"ruby-identifier">pieceE1
</span>)
166 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'ac6'
</span>]
167 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">true
</span>
168 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e1'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
169 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">position
</span>,
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">board
</span>.
<span class=
"ruby-identifier">positions
</span>[
<span class=
"ruby-value str">'bc5'
</span>]
170 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">captured
</span>,
<span class=
"ruby-keyword kw">false
</span>
171 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">pieces
</span>[
<span class=
"ruby-value str">'e2'
</span>].
<span class=
"ruby-identifier">contains
</span>, []
172 <span class=
"ruby-identifier">assert_equal
</span> <span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">current_player
</span>,
<span class=
"ruby-value str">'c'
</span>
174 <span class=
"ruby-identifier">assert_raise
</span> (
<span class=
"ruby-constant">GameWonNotice
</span>) {
<span class=
"ruby-identifier">game
</span>.
<span class=
"ruby-identifier">apply_moves!
</span> <span class=
"ruby-identifier">move_set6
</span>.
<span class=
"ruby-identifier">collect
</span> {
<span class=
"ruby-operator">|
</span><span class=
"ruby-identifier">m
</span><span class=
"ruby-operator">|
</span> <span class=
"ruby-identifier">m
</span>.
<span class=
"ruby-identifier">to_move
</span>(
<span class=
"ruby-identifier">game
</span>)} }
175 <span class=
"ruby-keyword kw">end
</span></pre>