Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install -r requirements.txt

- name: Run tests
run: pytest -v
run: pytest tests/ -v
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Dependencias para desarrollo y testing
pytest>=7.0.0
7 changes: 7 additions & 0 deletions src/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Paquete calculadora con GUI y CLI.

Módulos:
calculator: Funciones matemáticas básicas
gui: Interfaz gráfica con tkinter
cli: Interfaz de línea de comandos
"""
File renamed without changes.
3 changes: 1 addition & 2 deletions main.py → src/cli.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
#!/usr/bin/env python3
"""Archivo principal de ejemplo para el proyecto Team Practice.

Demuestra cómo usar los módulos del proyecto y cómo estructurar
un punto de entrada principal.
"""

from calculator import add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value
from .calculator import add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value

def main():
"""Función principal del programa."""
Expand Down
10 changes: 9 additions & 1 deletion gui.py → src/gui.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
"""Interfaz gráfica de usuario (GUI) para la calculadora.

Este módulo implementa una calculadora con interfaz tkinter que incluye:
- Operaciones básicas: suma, resta, multiplicación, división, potencia
- Funciones científicas: valor absoluto, máximo, mínimo
- Soporte para teclado y números negativos
- Manejo de errores con mensajes visuales
"""
import tkinter as tk
from calculator import (add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value)
from .calculator import (add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value)

class CalculatorGUI:
def __init__(self, root):
Expand Down
4 changes: 4 additions & 0 deletions tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Suite de tests para Team Practice Calculator.

Tests unitarios para los módulos calculator y gui.
"""
5 changes: 5 additions & 0 deletions conftest.py → tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
"""Configuración de pytest y fixtures para tests.

Este módulo contiene fixtures y configuración compartida para todos los tests.
Incluye mocks de componentes tkinter para ejecutar tests sin interfaz gráfica.
"""
import pytest
import tkinter as tk

Expand Down
2 changes: 1 addition & 1 deletion test_calculator.py → tests/test_calculator.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import pytest

from calculator import add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value
from src.calculator import add, subtract, multiply, divide, power, valor_maximo, valor_minimo, abs_value


def test_add():
Expand Down
2 changes: 1 addition & 1 deletion test_gui_calculator.py → tests/test_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Para correr los tests: pytest test_gui_calculator.py -v
"""
import tkinter as tk
from gui import CalculatorGUI
from src.gui import CalculatorGUI


# ============================================================================
Expand Down