72 lines
2.2 KiB
Python
72 lines
2.2 KiB
Python
#!/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()) |