def test_avanza11regresa10(self): numero = NumeroFibonacci() numeroesperado = 0 numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.siguiente() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numero.retroceder() numeroObtenido = numero.guardarEnlista().pop() self.assertEqual(numeroesperado, numeroObtenido)
def test_numero_siguiente_fibonacci(self): numero = NumeroFibonacci() numeroesperado = 0 numero.siguiente() numeroObtenido = numero.guardarEnlista().pop() self.assertEqual(numeroesperado, numeroObtenido)
return self.subscribers[event] def register(self, event, who, callback=None): if callback is None: callback = getattr(who, 'update') self.get_subscribers(event)[who] = callback def unregister(self, event, who): del self.get_subscribers(event)[who] def dispatch(self, event, message): for subscriber, callback in self.get_subscribers(event).items(): callback(message) pub = Publisher(['lunch', 'dinner']) numero = NumeroFibonacci() bob = Subscriber('bob') alice = Subscriber('alice') juan = Subscriber('juan') pub.register("lunch", bob) pub.register("dinner", alice) pub.register("dinner", juan) pub.register("lunch", juan) numero.siguiente() n = numero.guardarEnlista().pop() pub.dispatch("lunch", n) pub.dispatch("dinner", n)