tangled
alpha
login
or
join now
gearsco.de
/
starfish
2
fork
atom
A chess library for Gleam
2
fork
atom
overview
issues
pulls
pipelines
Add more perft tests
gearsco.de
6 months ago
fc3494f3
682019dc
+42
1 changed file
expand all
collapse all
unified
split
test
starfish_test.gleam
+42
test/starfish_test.gleam
···
91
91
])
92
92
}
93
93
94
94
+
pub fn perft_position2_test_() {
95
95
+
use <- Timeout(1_000_000)
96
96
+
use <- pocket_watch.callback("position 2", print_time)
97
97
+
perft_all(
98
98
+
"r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1",
99
99
+
[48, 2039, 97_862, 4_085_603, 193_690_690],
100
100
+
)
101
101
+
}
102
102
+
103
103
+
pub fn perft_position3_test_() {
104
104
+
use <- Timeout(1_000_000)
105
105
+
use <- pocket_watch.callback("position 3", print_time)
106
106
+
perft_all("8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 1", [
107
107
+
14, 191, 2812, 43_238, 674_624, 11_030_083, 178_633_661,
108
108
+
])
109
109
+
}
110
110
+
111
111
+
pub fn perft_position4_test_() {
112
112
+
use <- Timeout(1_000_000)
113
113
+
use <- pocket_watch.callback("position 4", print_time)
114
114
+
perft_all("r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1", [
115
115
+
6, 264, 9467, 422_333, 15_833_292,
116
116
+
])
117
117
+
}
118
118
+
119
119
+
pub fn perft_position5_test_() {
120
120
+
use <- Timeout(1_000_000)
121
121
+
use <- pocket_watch.callback("position 5", print_time)
122
122
+
perft_all("rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8", [
123
123
+
44, 1486, 62_379, 2_103_487, 89_941_194,
124
124
+
])
125
125
+
}
126
126
+
127
127
+
pub fn perft_position6_test_() {
128
128
+
use <- Timeout(1_000_000)
129
129
+
use <- pocket_watch.callback("position 6", print_time)
130
130
+
perft_all(
131
131
+
"r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - - 0 10",
132
132
+
[46, 2079, 89_890, 3_894_594, 164_075_551],
133
133
+
)
134
134
+
}
135
135
+
94
136
fn test_apply_move(
95
137
starting_fen: String,
96
138
moves: List(move.Move(move.Legal)),