using System;
using CtrEditor.HydraulicSimulator.Examples;

namespace CtrEditor.HydraulicSimulator.Tests
{
    /// <summary>
    /// Clase para probar rápidamente los componentes hidráulicos
    /// Ejecutar desde el método Main o desde tests unitarios
    /// </summary>
    public static class QuickHydraulicTest
    {
        /// <summary>
        /// Ejecuta una prueba rápida del sistema hidráulico
        /// </summary>
        public static void RunQuickTest()
        {
            try
            {
                Console.WriteLine("🧪 PRUEBA RÁPIDA DEL SISTEMA HIDRÁULICO");
                Console.WriteLine("═══════════════════════════════════════");
                Console.WriteLine();
                
                // Ejecutar ejemplo simple
                SimpleHydraulicSystemExample.RunExample();
                
                // Mostrar información de integración
                SimpleHydraulicSystemExample.ShowGraphicObjectsIntegration();
                
                Console.WriteLine();
                Console.WriteLine("✅ Prueba completada exitosamente!");
                Console.WriteLine();
                Console.WriteLine("📝 PRÓXIMOS PASOS:");
                Console.WriteLine("1. Agregar los componentes al editor visual");
                Console.WriteLine("2. Configurar conexiones entre componentes");
                Console.WriteLine("3. Integrar con HydraulicSimulationManager");
                Console.WriteLine("4. Probar simulación en tiempo real");
                
            }
            catch (Exception ex)
            {
                Console.WriteLine($"❌ Error en la prueba: {ex.Message}");
                Console.WriteLine($"Stack trace: {ex.StackTrace}");
            }
        }
    }
}
