def test_empty(self): """测试empty()""" queue_empty = RedisQueue("queue_empty_" + self.key_rand) self.keys.append(queue_empty.key) self.del_key(queue_empty.key) self.assertTrue(queue_empty.empty()) queue_empty.put("empty") self.assertFalse(queue_empty.empty())
def test_qsize(self): """测试qsize()""" queue_qsize = RedisQueue("queue_qsize_" + self.key_rand) self.keys.append(queue_qsize.key) self.del_key(queue_qsize.key) num = random.randint(1, 10) for i in range(num): queue_qsize.put(i) self.assertEqual(queue_qsize.qsize(), num)
class PutThread(threading.Thread): def __init__(self, flag, *args, **kwargs): threading.Thread.__init__(self, *args, **kwargs) self.q = RedisQueue('test') self.flag = flag def run(self): if self.q.lock(30): for i in range(10): time.sleep(0.001) self.q.put(self.flag + '_' + str(i)) self.q.unlock() else: print('locked')
def test_put(self): """测试put()""" queue_put = RedisQueue("queue_put_" + self.key_rand) self.keys.append(queue_put.key) items = [x for x in range(random.randint(1, 10))] for i in items: qsize = queue_put.put(i) self.assertEqual(queue_put.qsize(), qsize) for i in items: item = queue_put.get() self.assertEqual(item, i)