def test_q_max(self): """ queue最大値設定が反映されるかテストする """ el = IEventListener() self.assertEqual(5, el.q_.maxsize) el = IEventListener(q_max=10) self.assertEqual(10, el.q_.maxsize)
def test_put_q_none(self): """ 外部IFを使用してqueueにNoneをputするのは禁止 """ el = IEventListener() el.start() self.assertRaises(ValueError, el.put_q, None) el.stop() el.join()
def test_start_stop_and_join(self): """ main thread開始と停止をテストする """ el = IEventListener(is_condition=None, run_in_condition=None) el.start() self.assertTrue(el.thread_.is_alive()) el.stop() el.join() self.assertFalse(el.thread_.is_alive())
def test_join_error(self): """ main thread停止後のjoinでエラーをraiseするパターンをテストする """ el = IEventListener(is_condition=None, run_in_condition=None) el.start() self.assertRaises(SystemError, el.join, 0.1) self.assertTrue(el.thread_.is_alive()) # 後のテストを継続するための後始末 el.stop() el.join()
def test_is_condition_not_callable(self): """ is_condition()がcallableでない場合にrun_in_conditionをコールしない """ e = Event() not_callable_obj = [ 1, ] el = IEventListener(is_condition=not_callable_obj, run_in_condition=lambda x: e.set()) el.start() el.put_q(1) el.join_q() self.assertFalse(e.wait(0.1)) el.stop() el.join()
def test_is_condition_none(self): """ is_condition()がNoneの場合にrun_in_conditionをコールしない """ e = Event() el = IEventListener(is_condition=None, run_in_condition=lambda x: e.set()) el.start() el.put_q(1) el.join_q() self.assertFalse(e.wait(0.1)) el.stop() el.join()
def test_put_q(self): """ queueにputする動作をテストする """ el = IEventListener() el.start() el.put_q(1) self.assertEqual(el.q_.unfinished_tasks, 1) el.join_q() self.assertEqual(el.q_.unfinished_tasks, 0) el.stop() el.join()
def test_run_in_condition(self): """ is_condition()がTrueを返す場合にrun_in_conditionをコールする """ e = Event() el = IEventListener(is_condition=lambda x: True, run_in_condition=lambda x: e.set()) el.start() el.put_q(1) el.join_q() self.assertTrue(e.wait(0.1)) el.stop() el.join()
def test_run_in_condition_callable(self): """ run_in_condition()がcallableでない場合に何もしない(例外もraiseしない) """ not_callable_obj = [ 1, ] el = IEventListener(is_condition=lambda x: True, run_in_condition=not_callable_obj) el.start() el.put_q(1) el.join_q() el.stop() el.join()
def test_run_in_condition_none(self): """ run_in_condition()がNoneの場合に何もしない(例外もraiseしない) """ el = IEventListener(is_condition=lambda x: True, run_in_condition=None) el.start() el.put_q(1) el.join_q() el.stop() el.join()