Skip to content

fix: evitar resultados complejos para raíces pares negativas#57

Merged
Jhos3ph merged 1 commit intodevfrom
fix/negative-roots-validation
Dec 3, 2025
Merged

fix: evitar resultados complejos para raíces pares negativas#57
Jhos3ph merged 1 commit intodevfrom
fix/negative-roots-validation

Conversation

@Jhos3ph
Copy link
Contributor

@Jhos3ph Jhos3ph commented Dec 3, 2025

📋 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:

  • Se agregó validación en src/calculator.py para lanzar un ValueError con el mensaje "Raíz negativa" cuando se intenta una operación de este tipo.
  • Se actualizó src/gui.py para capturar este error específico y mostrar el mensaje "⚠️ Raíz negativa" en la pantalla.
  • Se agregaron pruebas unitarias para verificar que la excepción se lanza correctamente.

🔗 Issue Relacionado

Related to #50


🎯 Tipo de Cambio

  • 🐛 Bug fix (corrección de error)
  • ✨ Nueva funcionalidad
  • 📝 Mejora de documentación
  • ♻️ Refactoring (sin cambios de funcionalidad)
  • 🧪 Tests (agregar o mejorar tests)
  • 🎨 Estilo (formateo, nombres de variables)
  • 🚀 Release (preparación para release)

🧪 ¿Cómo se ha probado?

Se realizaron pruebas unitarias y manuales para asegurar que el error se captura y se muestra correctamente.

  • Tests unitarios
  • Prueba manual
  • Probado en diferentes sistemas operativos

Comandos ejecutados:

pytest tests/test_calculator.py
pytest tests/test_gui.py
python src/gui.py # Para prueba manual

✅ Checklist

  • Mi código sigue las convenciones del proyecto
  • He realizado self-review de mi código
  • He comentado mi código en áreas complejas
  • He actualizado la documentación correspondiente
  • Mis cambios no generan nuevas advertencias
  • He agregado tests que prueban mis cambios
  • Los tests nuevos y existentes pasan localmente
  • Los commits siguen Conventional Commits

📝 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

- 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
@Jhos3ph Jhos3ph self-assigned this Dec 3, 2025
@Jhos3ph Jhos3ph added error Bug o fallo en el código mejora Mejora a funciones existentes gui Funcionalidades de la interfaz gráfica labels Dec 3, 2025
@Jhos3ph
Copy link
Contributor Author

Jhos3ph commented Dec 3, 2025

para relacionar con su respectiva issue todavia puedo ponerle "Related to"?

@Jandres25 Jandres25 added this to the v2.1.0 milestone Dec 3, 2025
@Jandres25 Jandres25 linked an issue Dec 3, 2025 that may be closed by this pull request
Copy link
Contributor

@Jandres25 Jandres25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 "⚠️ Raíz negativa".

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! 👏

@Jhos3ph Jhos3ph merged commit ceed4ee into dev Dec 3, 2025
2 checks passed
@Jhos3ph Jhos3ph deleted the fix/negative-roots-validation branch December 3, 2025 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

error Bug o fallo en el código gui Funcionalidades de la interfaz gráfica mejora Mejora a funciones existentes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error: Raíces pares de números negativos generan resultados complejos

2 participants