test: add tests for rook moves

This commit is contained in:
Cozma Rares
2023-04-17 23:59:35 +03:00
parent 522afaa155
commit b8b9866032
2 changed files with 165 additions and 4 deletions
@@ -731,3 +731,164 @@ describe("bishop moves", () => {
runTest("K6b/8/3b4/2b3b1/8/8/B1BB4/7k w - - 0 1", expectedMoves);
});
describe("rook moves", () => {
const expectedMoves: ExpectedMoves = {
exclude_a: [
{
square: "a5",
moves: [
{
from: "a5",
to: "a1",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a3",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a4",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a6",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a7",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "a8",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "b5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "c5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "d5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "e5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "f5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "g5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "a5",
to: "h5",
flag: MOVE_FLAGS.NORMAL,
},
],
},
],
exclude_h: [
{
square: "h2",
moves: [
{
from: "h2",
to: "h1",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h3",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h4",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h5",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h6",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h7",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "h8",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "g2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "f2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "e2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "d2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "c2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "b2",
flag: MOVE_FLAGS.NORMAL,
},
{
from: "h2",
to: "a2",
flag: MOVE_FLAGS.NORMAL,
},
],
},
],
};
runTest("8/6K1/8/R7/8/8/7r/6k1 w - - 0 1", expectedMoves);
});
+4 -4
View File
@@ -302,8 +302,8 @@ const PIECE_MOVE_INFO = Object.freeze({
q: {
generateMultiple: true,
moves: [
{ offset: -9, excludedFiles: [FILE.H] },
{ offset: -7, excludedFiles: [FILE.A] },
{ offset: -9, excludedFiles: [FILE.A] },
{ offset: -7, excludedFiles: [FILE.H] },
{ offset: 9, excludedFiles: [FILE.H] },
{ offset: 7, excludedFiles: [FILE.A] },
{ offset: -8, excludedFiles: [] },
@@ -315,8 +315,8 @@ const PIECE_MOVE_INFO = Object.freeze({
k: {
generateMultiple: false,
moves: [
{ offset: -9, excludedFiles: [FILE.H] },
{ offset: -7, excludedFiles: [FILE.A] },
{ offset: -9, excludedFiles: [FILE.A] },
{ offset: -7, excludedFiles: [FILE.H] },
{ offset: 9, excludedFiles: [FILE.H] },
{ offset: 7, excludedFiles: [FILE.A] },
{ offset: -8, excludedFiles: [] },