POMODORO KATA: Un pomodoro en un pomodoro

El 22 de diciembre de 2009 se celebr— en Madrid (Espa–a) el primer coding dojo organizado por AGILISMO.ES. Para ese evento Xavi Gost y Jose Manuel Beas se inventaron una kata que hoy reeditamos para cerrar este maravilloso a–o de 12meses12katas.

El objetivo de esta PomodoroKata es desarrollar (haciendo TDD, por supuesto) un programa que reproduzca el comportamiento de un temporizador como el que usamos cuando practicamos la TŽcnica Pomodoro, es decir, un simple reloj de cocina.

Os proponemos los siguientes comportamientos, pero podŽis usar los que quer‡is siempre y cuando cumplan con la restricci—n a–adida de que la escritura de la kata no dure m‡s de un pomodoro (25 minutos). De ah’ el subt’tulo de "Un pomodoro en un pomodoro".
CREAR UN POMODORO
Un pomodoro dura 25 minutos por defecto
Puedo crear un pomodoro con cualquier duraci—n
PARAR UN POMODORO
Un pomodoro reciŽn creado est‡ parado
Al arrancar un pomodoro comienza la cuenta atr‡s
Un pomodoro no termina si no ha sido arrancado previamente
Un pomodoro acaba cuando se agota su tiempo
Un pomodoro no acaba mientras no se agote su tiempo
INTERRUPCIONES
Un pomodoro se inicia sin interrupciones
Si no est‡ arrancado no se puede interrumpir
El pomodoro cuenta las interrupciones (1, 2...)
REINICIAR
Un pomodoro ya arrancado se reinicia (empieza a contar el tiempo) al arrancarlo de nuevo
Un pomodoro se reinicia sin interrupciones

Como "bonus track" se propone crear la UI, que puede ser gr‡fica, linea de comandos o como desee cada cu‡l, pero ya sin la restricci—n de que dure un pomodoro todo el ejercicio.