123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import unittest
- import timing
- import threading
- import time
- exec_num = 0
- class TimingTest(unittest.TestCase):
- def func(self):
- global exec_num
- self.name = 'TANGS TIMING TEST'
- exec_num += 1
- print(self.name)
- @staticmethod
- def reset():
- global exec_num
- exec_num = 0
- @staticmethod
- def timing_start():
- t = threading.Thread(target=timing.run)
- t.setDaemon(True)
- t.start()
- def test_timing_run(self):
-
- err = None
- try:
- timing.add_task(1, 1, self.func, 1, 1)
- except Exception as e:
- err = str(e)
- self.assertEqual(err, 'task_id must be str')
-
- err = None
- try:
- timing.add_task(1, '1', self.func, 1, 'generate_id')
- except Exception as e:
- err = str(e)
- self.assertEqual(err, 'interval must be int')
-
- err = None
- try:
- timing.add_task(1, -1, self.func, 1, 'generate_id')
- except Exception as e:
- err = str(e)
- self.assertEqual(err, 'interval must be bigger than 0')
-
- err = None
- try:
- timing.add_task(1, 1, 1, 1, 'generate_id')
- except Exception as e:
- err = str(e)
- self.assertEqual(err, 'func must be func')
-
- err = None
- try:
- timing.add_task(1, 1, self.func, '1', 'generate_id')
- except Exception as e:
- err = str(e)
- self.assertEqual(err, 'count must be int')
- timing.set_interval(1)
- timer = timing.Timing()
- timing.defaultTiming = timer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- timing.set_interval(1.2)
- self.timing_start()
- timing.add_task(1, 1, self.func, 4, 'generate_id')
- time.sleep(3)
- timing.stop()
-
- self.assertEqual(exec_num, 3)
- time.sleep(1)
- self.reset()
-
- print('-----------------------------------------')
- timing.set_interval(1.2)
- self.timing_start()
- timing.add_task(1, 1, self.func, -1, 'generate_id')
- time.sleep(3)
- timing.stop()
- self.assertEqual(exec_num, 3)
- self.reset()
- if __name__ == '__main__':
- unittest.main()
|