diff options
author | Raymond Hettinger <python@rcn.com> | 2008-01-16 23:40:45 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-01-16 23:40:45 +0000 |
commit | 9e1bc982ffa454dc3002ec9cb1f01d2d0ce5f255 (patch) | |
tree | 38400487761f32f60ffc4a62333da89c04208d39 /Lib/test/test_queue.py | |
parent | 171f3916c585e68d65421cb05461ad61ec8e1017 (diff) | |
download | cpython-git-9e1bc982ffa454dc3002ec9cb1f01d2d0ce5f255.tar.gz |
Add queues will alternative fetch orders (priority based and stack based).
Diffstat (limited to 'Lib/test/test_queue.py')
-rw-r--r-- | Lib/test/test_queue.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py index 66977e64f8..2a76cdac0b 100644 --- a/Lib/test/test_queue.py +++ b/Lib/test/test_queue.py @@ -181,8 +181,13 @@ def SimpleQueueTest(q): raise RuntimeError, "Call this function with an empty queue" # I guess we better check things actually queue correctly a little :) q.put(111) + q.put(333) q.put(222) - verify(q.get() == 111 and q.get() == 222, + target_order = dict(Queue = [111, 333, 222], + LifoQueue = [222, 333, 111], + PriorityQueue = [111, 222, 333]) + actual_order = [q.get(), q.get(), q.get()] + verify(actual_order == target_order[q.__class__.__name__], "Didn't seem to queue the correct data!") for i in range(QUEUE_SIZE-1): q.put(i) @@ -260,18 +265,20 @@ def QueueTaskDoneTest(q): raise TestFailed("Did not detect task count going negative") def test(): - q = Queue.Queue() - QueueTaskDoneTest(q) - QueueJoinTest(q) - QueueJoinTest(q) - QueueTaskDoneTest(q) + for Q in Queue.Queue, Queue.LifoQueue, Queue.PriorityQueue: + q = Q() + QueueTaskDoneTest(q) + QueueJoinTest(q) + QueueJoinTest(q) + QueueTaskDoneTest(q) + + q = Q(QUEUE_SIZE) + # Do it a couple of times on the same queue + SimpleQueueTest(q) + SimpleQueueTest(q) + if verbose: + print "Simple Queue tests seemed to work for", Q.__name__ - q = Queue.Queue(QUEUE_SIZE) - # Do it a couple of times on the same queue - SimpleQueueTest(q) - SimpleQueueTest(q) - if verbose: - print "Simple Queue tests seemed to work" q = FailingQueue(QUEUE_SIZE) FailingQueueTest(q) FailingQueueTest(q) |