def test_delete(self, create_mock, CleanManagerMock, RLockMock): cleanManager = CleanManagerMock() lock = RLockMock() node = _ExpNode(key='a', value='b', expires=10) create_mock.return_value = node cache = LruCache() cache.add('a', 'b', expires=10) del cache['a'] cleanManager.add.assert_called_with(node) cleanManager.on_delete.assert_called() lock.__enter__.assert_called() lock.__exit__.assert_called()