Newer
Older
<?php
require_once 'PieceSquadro.php';
require_once 'PieceSquadroUI.php';
/**
* Classe de test pour vérifier le bon fonctionnement de PieceSquadroUI.
*/
class TestPieceSquadroUI {
/**
* Exécute tous les tests de la classe.
*/
public static function runTests() {
echo "Début des tests de PieceSquadroUI...\n";
self::testCaseVide();
self::testCaseNeutre();
self::testPieceBlancheActive();
self::testPieceBlancheInactive();
self::testPieceNoireActive();
self::testPieceNoireInactive();
echo "Tous les tests ont été exécutés avec succès.\n";
}
/**
* Teste la méthode générant une case vide.
*/
public static function testCaseVide() {
$output = PieceSquadroUI::boutonVide();
$expected = '<button class="case vide" disabled></button>';
assert($output === $expected, "Test case vide échoué. Output: $output");
echo "Test case vide réussi.\n";
}
/**
* Teste la méthode générant une case neutre.
*/
public static function testCaseNeutre() {
$output = PieceSquadroUI::boutonNeutre();
$expected = '<button class="case neutre" disabled></button>';
assert($output === $expected, "Test case neutre échoué. Output: $output");
echo "Test case neutre réussi.\n";
}
/**
* Teste une pièce blanche active (cliquable).
*/
public static function testPieceBlancheActive() {
$piece = PieceSquadro::initBlancEst();
$output = PieceSquadroUI::boutonBlanc(2 , 3, $piece, true);
$expected = '<button class="case blanc actif" name="coord" value="2,3">BE</button>';
assert($output === $expected, "Test pièce blanche active échoué. Output: $output");
echo "Test pièce blanche active réussi.\n";
}
/**
* Teste une pièce blanche inactive (non cliquable).
*/
public static function testPieceBlancheInactive() {
$piece = PieceSquadro::initBlancOuest();
$output = PieceSquadroUI::boutonBlanc(4, 1, $piece, false );
$expected = '<button class="case blanc inactif" disabled>BO</button>';
assert($output === $expected, "Test pièce blanche inactive échoué. Output: $output");
echo "Test pièce blanche inactive réussi.\n";
}
/**
* Teste une pièce noire active (cliquable).
*/
public static function testPieceNoireActive() {
$piece = PieceSquadro::initNoirSud();
$output = PieceSquadroUI::boutonNoir(5, 0,$piece, true );
$expected = '<button class="case noir actif" name="coord" value="5,0">NS</button>';
assert($output === $expected, "Test pièce noire active échoué. Output: $output");
echo "Test pièce noire active réussi.\n";
}
/**
* Teste une pièce noire inactive (non cliquable).
*/
public static function testPieceNoireInactive() {
$piece = PieceSquadro::initNoirNord();
$output = PieceSquadroUI::boutonNoir(0, 6,$piece, false );
$expected = '<button class="case noir inactif" disabled>NN</button>';
assert($output === $expected, "Test pièce noire inactive échoué. Output: $output");
echo "Test pièce noire inactive réussi.\n";
}
}
// Lancement des tests
TestPieceSquadroUI::runTests();
?>