import unittest import mock from leap.gui import threads class FunThreadTestCase(unittest.TestCase): def setUp(self): self.fun = mock.MagicMock() self.fun.return_value = "foo" self.t = threads.FunThread(fun=self.fun) def test_thread(self): self.t.begin() self.t.wait() self.fun.assert_called() del self.t def test_run(self): # this is called by PyQt self.t.run() del self.t self.fun.assert_called() if __name__ == "__main__": unittest.main()