import time import mock from robot_interface.utils.timeblock import TimeBlock class AnyFloat(object): def __eq__(self, other): return isinstance(other, float) def test_no_limit(): callback = mock.Mock() with TimeBlock(callback): pass callback.assert_called_once_with(AnyFloat()) def test_exceed_limit(): callback = mock.Mock() with TimeBlock(callback, 0): time.sleep(0.001) callback.assert_called_once_with(AnyFloat()) def test_within_limit(): callback = mock.Mock() with TimeBlock(callback, 5): pass callback.assert_not_called()