| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- /**
- * Tests unitaires pour MapModel
- *
- * Ces tests vérifient les fonctionnalités CRUD des cartes.
- */
- require_once __DIR__ . '/../config/config.php';
- function assert_equal($a, $b, $msg) {
- if ($a === $b) {
- echo "OK: $msg\n";
- return true;
- }
- echo "FAIL: $msg - got '" . var_export($a, true) . "' expected '" . var_export($b, true) . "'\n";
- return false;
- }
- function assert_true($a, $msg) {
- return assert_equal($a, true, $msg);
- }
- function assert_false($a, $msg) {
- return assert_equal($a, false, $msg);
- }
- echo "Running MapModel tests...\n";
- // Test de création d'une carte
- echo "Test création de carte...\n";
- $map = new Map('Test Map', 5, 5);
- $id = MapModel::create($map, 'Description test', 'neutral');
- if ($id) {
- echo "Carte créée avec ID: $id\n";
- assert_true(is_int($id), 'create retourne un entier');
- assert_true($id > 0, 'ID positif');
-
- // Vérifier que la carte existe
- $found = MapModel::findMap($id);
- assert_true($found !== null, 'Carte trouvée après création');
- if ($found) {
- assert_equal($found->getName(), 'Test Map', 'Nom correct');
- assert_equal($found->getWidth(), 5, 'Largeur correcte');
- assert_equal($found->getHeight(), 5, 'Hauteur correcte');
- }
-
- // Test de mise à jour
- echo "Test mise à jour...\n";
- $map->setName('Test Map Updated');
- $updated = MapModel::update($id, $map, 'Description mise à jour');
- assert_true($updated, 'Mise à jour réussie');
-
- $found = MapModel::findMap($id);
- if ($found) {
- assert_equal($found->getName(), 'Test Map Updated', 'Nom mis à jour');
- }
-
- // Test de suppression
- echo "Test suppression...\n";
- $deleted = MapModel::delete($id);
- assert_true($deleted, 'Suppression réussie');
-
- $found = MapModel::findMap($id);
- assert_true($found === null, 'Carte non trouvée après suppression');
-
- } else {
- echo "FAIL: Échec de création de la carte\n";
- }
- // Test de récupération des statistiques
- echo "Test statistiques...\n";
- $stats = MapModel::getGlobalStats();
- assert_true(is_array($stats), 'Statistiques retournent un tableau');
- assert_true(isset($stats['total_maps']), 'total_maps présent');
- assert_true(isset($stats['average_width']), 'average_width présent');
- assert_true(isset($stats['average_height']), 'average_height présent');
- // Test de pagination
- echo "Test pagination...\n";
- $result = MapModel::paginate(1, 10);
- assert_true(is_array($result), 'paginate retourne un tableau');
- assert_true(isset($result['data']), 'data présent');
- assert_true(isset($result['pagination']), 'pagination présent');
- assert_true(isset($result['pagination']['total']), 'total présent');
- assert_true(isset($result['pagination']['current_page']), 'current_page présent');
- assert_true(isset($result['pagination']['per_page']), 'per_page présent');
- assert_true(is_array($result['data']), 'data est un tableau');
- echo "Tests MapModel terminés.\n";
|