Esempio n. 1
0
 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)
Esempio n. 2
0
 def test_numero_siguiente_fibonacci(self):
     numero = NumeroFibonacci()
     numeroesperado = 0
     numero.siguiente()
     numeroObtenido = numero.guardarEnlista().pop()
     self.assertEqual(numeroesperado, numeroObtenido)
Esempio n. 3
0
        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)