Пример #1
0
    def test_tasks_scheduler(self):
        """ Test that the tasks scheduler works
        """

        class Incrementer(object):
            num = 1

            def __init__(self, v):
                self.v = v

            def inc(self):
                logger.debug('incrementing %d by %d', self.v, self.num)
                self.v += self.num

        class Decrementer(object):
            num = 1

            def __init__(self, v):
                self.v = v

            def dec(self):
                logger.debug('decrementing %d by %d', self.v, self.num)
                self.v -= self.num

        inc_1 = Incrementer(0)
        dec_1 = Decrementer(2)

        sched = TasksScheduler()
        sched.add(inc_1.inc)
        sched.add(dec_1.dec, depends_on=inc_1.inc)
        sched.run()

        self.assertEqual(dec_1.v, 1)
        self.assertEqual(inc_1.v, 1)