fix: evitar resultados complejos para raíces pares negativas#57
Conversation
- Validar bases negativas con raíces pares en calculator.py - Manejar error de 'Raíz negativa' en la GUI - Agregar caso de prueba para operaciones de raíz inválidas
|
para relacionar con su respectiva issue todavia puedo ponerle "Related to"? |
Jandres25
left a comment
There was a problem hiding this comment.
✅ Review General
Excelente trabajo @Jhos3ph! El PR resuelve correctamente el issue #50. La implementación es limpia, enfocada y bien testeada.
✅ Aspectos Positivos
✅ Solución correcta: La validación para raíces pares de números negativos es exactamente lo que se necesitaba.
✅ Tests incluidos: Se agregaron pruebas unitarias para verificar el comportamiento.
✅ Manejo de errores: Implementación correcta del try-catch en GUI con mensaje claro "
✅ Cambios mínimos: 16 adiciones, 3 eliminaciones - muy enfocado y sin código innecesario.
✅ Commits: Siguen Conventional Commits correctamente.
🧪 Tests Sugeridos para Verificar
Podrías verificar manualmente estos casos:
# Caso 1: Raíz cuadrada de negativo
-2 ^ 0.5 → Error: "Raíz negativa" ✅
# Caso 2: Raíz cúbica de negativo (debería funcionar)
-8 ^ 0.333 → Resultado válido ✅
# Caso 3: Otras raíces pares
-4 ^ 0.25 → Error: "Raíz negativa" ✅Excelente trabajo en general! 👏
📋 Descripción
Se solucionó el problema donde el cálculo de raíces pares de números negativos (ej:
√-2) devolvía números complejos (ej:1.41j), lo cual no es el comportamiento deseado para esta calculadora.Cambios específicos:
ValueErrorcon el mensaje "Raíz negativa" cuando se intenta una operación de este tipo.🔗 Issue Relacionado
Related to #50
🎯 Tipo de Cambio
🧪 ¿Cómo se ha probado?
Se realizaron pruebas unitarias y manuales para asegurar que el error se captura y se muestra correctamente.
Comandos ejecutados:
pytest tests/test_calculator.py pytest tests/test_gui.py python src/gui.py # Para prueba manual✅ Checklist
📝 Notas Adicionales
La validación comprueba si el inverso del exponente es un número par (ej: exponente 0.5 -> inverso 2 -> par) para determinar si es una raíz par.
👥 Revisores Sugeridos
@Jandres25 @alexricardotapiacarita-ai