1 # Written by Arno Bakker
2 # see LICENSE.txt for license information
4 # TODO: integrate with test_TimedTaskQueue
9 from BaseLib.Utilities.TimedTaskQueue import TimedTaskQueue
11 class TestGUITaskQueue(unittest.TestCase):
16 self.guiserver = TimedTaskQueue()
21 if self.completed != range(self.ntasks):
22 print "test failed",self.completed
25 def test_simple(self):
28 self.guiserver.add_task(lambda:self.task(0),0)
33 for i in range(self.ntasks):
34 # lambda functions are evil, this is not the same as lambda:task(i)
35 self.guiserver.add_task(self.define_task(i),0)
40 self.guiserver.add_task(lambda:self.task(0),3)
41 print "test: sleeping 5 secs so tasks gets executed"
44 def test_delay2(self):
47 self.guiserver.add_task(lambda:self.task(1),3)
48 self.guiserver.add_task(lambda:self.task(0),1)
49 print "test: sleeping 5 secs so tasks gets executed"
52 def define_task(self,num):
53 return lambda:self.task(num)
56 print "Running task",num
57 self.completed.append(num)
61 suite = unittest.TestSuite()
62 suite.addTest(unittest.makeSuite(TestGUITaskQueue))
66 if __name__ == '__main__':
67 unittest.main(defaultTest='test_suite')