#!/usr/bin/env python3 """ Prueba simple del motor PureAlgebraicEngine para verificar la API """ import sys from pathlib import Path def test_engine(): """Prueba básica del motor""" print("🧪 Probando PureAlgebraicEngine...") try: # Importar el motor from main_evaluation_puro import PureAlgebraicEngine print(" ✅ Import exitoso") # Crear instancia engine = PureAlgebraicEngine() print(" ✅ Instancia creada") # Pruebas básicas test_cases = [ "2 + 2", "x**2 + y**2", "solve(x**2 - 4, x)", "# Esto es un comentario", "a = 5*x + 3", "x**2 + y**2 = r**2" ] print("\n📝 Ejecutando casos de prueba:") for i, test_case in enumerate(test_cases, 1): try: result = engine.evaluate_line(test_case) status = "✅" if result.success else "❌" output = result.output if result.success else result.error_message print(f" {i}. {status} '{test_case}' → {output}") # Información adicional del resultado if result.success: print(f" Tipo: {result.result_type}, Asignación: {result.is_assignment}, Ecuación: {result.is_equation}") except Exception as e: print(f" {i}. ❌ '{test_case}' → ERROR: {e}") print("\n✅ Pruebas del motor completadas") return True except Exception as e: print(f"❌ Error en prueba del motor: {e}") import traceback traceback.print_exc() return False def main(): """Función principal""" print("🚀 Prueba Simple del Motor Algebraico") print("=" * 50) success = test_engine() if success: print("\n🎉 ¡Motor funcionando correctamente!") print(" Puedes proceder a usar la aplicación PySide6") else: print("\n⚠️ Problemas detectados en el motor") print(" Revisa los errores antes de usar la aplicación") return 0 if success else 1 if __name__ == "__main__": sys.exit(main())