- Por Emmanuel Valverde
- ·
- Publicado 28-feb-2024 0:00:00
Morning routine
Como soy una persona olvidadiza, necesito un método que me ayude a recordar mi rutina matutina. Por eso he creado un programa que, según la hora del..
El equipo de I+D te ha dado los siguientes requisitos que deberá tener tu programa para la primera iteración del modelo de prueba:
- Nombre del artículo
- Fecha de caducidad
- Fecha en la que fue añadido
- 1 hora (si está cerrada)
- 5 horas (si está abierta)
- Los artículos caducados deben aparecer primero como “EXPIRED: $item.name”
- Los artículos no caducados se muestran después como "$item.name: n day(s) remaining
El equipo de I+D también ha puesto a tu disposición una serie de puntos de los que no tendrás que preocuparte:
El tiempo que la nevera permanece abierta.
Limitaciones en el número de artículos que se pueden añadir.
Aunque este sea sólo un prototipo para mostrar a los stakeholders, debes tratarlo con el mismo cuidado que tendrías con un sistema real. Piensa en las decisiones que tomes y cómo estás afectarán a la extensibilidad del sistema en el futuro.
Buena suerte, y mantén la calma.
Un enfoque que podrías adoptar para esta kata es el Event Sourcing.
El siguiente ejemplo es de eventos típicos realizados alrededor de tu modelo de prueba. Incluso podrías utilizarlo como una prueba de aceptación final.
> Set Current Date - "18/10/2021"
> Fridge Door Opened
> Fridge Door Closed
> (Day Over)
> Fridge Door Opened
> Fridge Door Closed
> Fridge Door Opened
> Fridge Door Closed
> Fridge Door Opened
> Item removed - name: "Milk"
> Fridge Door Closed
> Fridge Door Opened
> Fridge Door Closed
> (Day Over)
> Fridge Door Opened
> Item removed - name: "Beef"
> Item removed - name: "Lettuce"
> Fridge Door Closed
> Fridge Door Opened
> Fridge Door Closed
> Fridge Door Opened
> Fridge Door Closed
> (Day Over)
Estas interacciones deberían generar la siguiente visualización en la nevera:
EXPIRED: Milk
Lettuce: 0 days remaining
Peppers: 1 day remaining
Cheese: 31 days remaining
Como soy una persona olvidadiza, necesito un método que me ayude a recordar mi rutina matutina. Por eso he creado un programa que, según la hora del..
Historia: Durance ha encontrado un libro de magia en una de sus aventuras y ha decidido aprender a encantar sus armas. Debido a la naturaleza..
Resumen Esta kata es bastante avanzada, por lo que recomendamos que intentes resolverla una vez que hayas practicado TDD con otras katas más fáciles.
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores