Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 1e855ab4 rédigé par Evan JOUBERT's avatar Evan JOUBERT
Parcourir les fichiers

test validation mouvement

parent 5e9fd9b1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
import { Expect, Test, Setup} from "alsatian";
import { Chessboard, createEmptyChessboard, putPiece } from '../../main/ts/chessboard';
import { Position, position } from '../../main/ts/position';
import * as isPossible from '../../main/ts/move-validation';
import * as pieces from '../../main/ts/piece';
import { Move, move } from '../../main/ts/movements';
let chessboard : Chessboard;
const positionA8 : Position = position(0, 7) // A8
const positionB1 : Position = position(1, 0) // B1
const positionE4 : Position = position(4, 3) // E4
const positionH1 : Position = position(7, 0) // H1
const positionH7 : Position = position(7, 6) // H7
//Diagonal moves
const moveE4_A8 : Move = move(positionE4, positionA8);
const moveE4_B1 : Move = move(positionE4, positionB1);
const moveE4_H7 : Move = move(positionE4, positionH7);
const moveE4_H1 : Move = move(positionE4, positionH1);
export class TestPrincessMoves {
@Setup
beforeEach() {
// TODO:
// Initialize an empty chessboard
// Place a black Princess on E4
chessboard = createEmptyChessboard();
putPiece(chessboard,positionE4,pieces.blackPrincess);
}
@Test("A Princess can move diagonally")
testCanMoveDiagonally() {
// TODO:
// Check the following moves are possible:
// moveE4_A8, moveE4_B1, moveE4_H7, moveE4_H1
// moveE4_A8, moveE4_B1, moveE4_H7, moveE4_H1
Expect(isPossible.princessMove(chessboard, moveE4_A8)).toBeTruthy();
Expect(isPossible.princessMove(chessboard, moveE4_B1)).toBeTruthy();
Expect(isPossible.princessMove(chessboard, moveE4_H7)).toBeTruthy();
Expect(isPossible.princessMove(chessboard, moveE4_H1)).toBeTruthy();
}
@Test("A Princess can move two squares horizontally and one square vertically")
......
......@@ -20,6 +20,7 @@ const positionE8 : Position = position(4, 7) // E8
const positionF4 : Position = position(5, 3);//F4
const positionH1 : Position = position(7, 0) // H1
const positionH4 : Position = position(7, 3) // H4
const positionH7 : Position = position(7, 6) // H7
......@@ -27,6 +28,7 @@ const positionH7 : Position = position(7, 6) // H7
const moveE4_A8 : Move = move(positionE4, positionA8);
const moveE4_B1 : Move = move(positionE4, positionB1);
const moveE4_H7 : Move = move(positionE4, positionH7);
const moveE4_H1 : Move = move(positionE4, positionH1);
//Horizontal moves
const moveE4_A4 : Move = move(positionE4, positionA4);
......@@ -59,7 +61,7 @@ export class TestQueenMoves {
Expect(isPossible.queenMove(chessboard, moveE4_A8)).toBeTruthy();
Expect(isPossible.queenMove(chessboard, moveE4_B1)).toBeTruthy();
Expect(isPossible.queenMove(chessboard, moveE4_H7)).toBeTruthy();
Expect(isPossible.queenMove(chessboard, moveE4_H1)).toBeTruthy();
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter