Test complete games

pull/1/merge
Thibault Duplessis 2012-02-25 13:31:24 +01:00
parent bc9bc58b43
commit 043340dfcd
1 changed files with 127 additions and 0 deletions

View File

@ -0,0 +1,127 @@
package lila
package model
import Pos._
import format.Visual.addNewLines
class PlayTest extends LilaSpec {
"playing a game" should {
"opening one" in {
val situation = Situation().playMoves(
E2 -> E4,
E7 -> E5,
F1 -> C4,
G8 -> F6,
D2 -> D3,
C7 -> C6,
C1 -> G5,
H7 -> H6)
"current situation" in {
situation must beSuccess.like {
case s addNewLines(s.board.visual) must_== """
rnbqkb r
pp p pp
p n p
p B
B P
P
PPP PPP
RN QK NR
"""
}
}
"after recapture" in {
situation flatMap { s s.playMoves(G5 -> F6, D8 -> F6) } must beSuccess.like {
case s addNewLines(s.board.visual) must_== """
rnb kb r
pp p pp
p q p
p
B P
P
PPP PPP
RN QK NR
"""
}
}
}
"Deep Blue vs Kasparov 1" in {
Situation().playMoves(
E2 -> E4,
C7 -> C5,
C2 -> C3,
D7 -> D5,
E4 -> D5,
D8 -> D5,
D2 -> D4,
G8 -> F6,
G1 -> F3,
C8 -> G4,
F1 -> E2,
E7 -> E6,
H2 -> H3,
G4 -> H5,
E1 -> G1,
B8 -> C6,
C1 -> E3,
C5 -> D4,
C3 -> D4,
F8 -> B4
) must beSuccess.like {
case s addNewLines(s.board.visual) must_== """
r k r
pp ppp
n pn
q b
b P
BN P
PP BPP
RN Q RK
"""
}
}
"Peruvian Immortal" in {
Situation().playMoves(
E2 -> E4,
D7 -> D5,
E4 -> D5,
D8 -> D5,
B1 -> C3,
D5 -> A5,
D2 -> D4,
C7 -> C6,
G1 -> F3,
C8 -> G4,
C1 -> F4,
E7 -> E6,
H2 -> H3,
G4 -> F3,
D1 -> F3,
F8 -> B4,
F1 -> E2,
B8 -> D7,
A2 -> A3,
E8 -> C8,
A3 -> B4,
A5 -> A1,
E1 -> D2,
A1 -> H1,
F3 -> C6,
B7 -> C6,
E2 -> A6
) must beSuccess.like {
case s addNewLines(s.board.visual) must_== """
kr nr
p n ppp
B p p
P P B
N P
PPK PP
q
"""
}
}
}
}