<?php
require_once __DIR__ . '/vendor/autoload.php';

use App\Helpers\ImageAnalyzer;

echo "=== Test ImageAnalyzer - Détection des vraies couleurs ===\n\n";
echo "GD disponible: " . (function_exists('imagecreatefromstring') ? 'OUI ✅' : 'NON ❌') . "\n\n";

// Créer des images de test avec différentes couleurs
$colors = [
    'Rouge vif' => [255, 0, 0],
    'Bleu royal' => [0, 0, 255],
    'Vert forêt' => [34, 139, 34],
    'Jaune soleil' => [255, 255, 0],
    'Orange' => [255, 165, 0],
    'Rose' => [255, 105, 180],
    'Violet' => [128, 0, 128],
    'Marron' => [139, 69, 19],
    'Beige' => [245, 222, 179],
    'Cyan' => [0, 255, 255],
    'Noir' => [20, 20, 20],
    'Blanc' => [250, 250, 250],
    'Gris' => [128, 128, 128],
];

echo "Test de détection des couleurs:\n";
echo str_repeat("-", 50) . "\n";

foreach ($colors as $name => $rgb) {
    // Créer une image 50x50 de la couleur
    $img = imagecreatetruecolor(50, 50);
    $color = imagecolorallocate($img, $rgb[0], $rgb[1], $rgb[2]);
    imagefill($img, 0, 0, $color);
    
    // Convertir en base64
    ob_start();
    imagepng($img);
    $imgData = ob_get_clean();
    imagedestroy($img);
    
    $base64 = 'data:image/png;base64,' . base64_encode($imgData);
    
    // Analyser
    $result = ImageAnalyzer::analyze($base64);
    
    $detected = $result['dominant_color'] ?? 'N/A';
    $status = '✅';
    
    // Vérifier si la couleur détectée correspond
    $expectedMap = [
        'Rouge vif' => 'red',
        'Bleu royal' => 'blue',
        'Vert forêt' => 'green',
        'Jaune soleil' => 'yellow',
        'Orange' => 'orange',
        'Rose' => 'pink',
        'Violet' => 'purple',
        'Marron' => 'brown',
        'Beige' => 'beige',
        'Cyan' => 'cyan',
        'Noir' => 'black',
        'Blanc' => 'white',
        'Gris' => 'gray',
    ];
    
    if ($detected !== $expectedMap[$name]) {
        $status = '⚠️';
    }
    
    printf("%-15s RGB(%3d,%3d,%3d) => %-10s %s\n", 
        $name, $rgb[0], $rgb[1], $rgb[2], $detected, $status);
}

echo "\n" . str_repeat("-", 50) . "\n";
echo "\n✅ Test terminé!\n";
