| 1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- require_once __DIR__ . '/../app/Models/Templates/TemplateFactory.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;
- }
- echo "Running TemplateFactory tests...\n";
- $list = TemplateFactory::listAvailable();
- // Attendu: urban et rural présents (dossiers mapModels existants)
- assert_equal(isset($list['urban']), true, 'urban present in list');
- assert_equal(isset($list['rural']), true, 'rural present in list');
- // Test get()
- $urbanClass = TemplateFactory::get('urban');
- assert_equal($urbanClass, 'UrbanTemplate', 'TemplateFactory::get("urban") retourne UrbanTemplate');
- $unknown = TemplateFactory::get('doesnotexist');
- // Accept either a real NeutralTemplate provided by mapModels or our NeutralTemplateWrapper fallback
- $okFallback = ($unknown === 'NeutralTemplateWrapper') || ($unknown === 'NeutralTemplate');
- assert_equal($okFallback, true, 'TemplateFactory::get("doesnotexist") retourne un fallback neutre (wrapper ou NeutralTemplate fourni)');
- // tileDefinitions via class
- if ($urbanClass && class_exists($urbanClass) && method_exists($urbanClass, 'tileDefinitions')) {
- $tiles = $urbanClass::tileDefinitions();
- assert_equal(is_array($tiles), true, 'UrbanTemplate::tileDefinitions retourne un tableau');
- } else {
- echo "SKIP: UrbanTemplate tileDefinitions not available\n";
- }
- echo "Tests done.\n";
|