From 237b9d4a64a2583a4b86f1f0e2ac0f5ba945323f Mon Sep 17 00:00:00 2001 From: Roy Frostig Date: Wed, 28 Jul 2010 16:34:22 -0700 Subject: Test the deque more and fix uncovered off-by-one bug. --- src/test/run-pass/lib-deque.rs | 47 +++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 10 deletions(-) (limited to 'src/test') diff --git a/src/test/run-pass/lib-deque.rs b/src/test/run-pass/lib-deque.rs index 244092da..003fb9a2 100644 --- a/src/test/run-pass/lib-deque.rs +++ b/src/test/run-pass/lib-deque.rs @@ -3,15 +3,42 @@ use std; import std.deque; +fn test_simple() { + let deque.t[int] d = deque.create[int](); + check (d.size() == 0u); + d.add_front(17); + d.add_front(42); + d.add_back(137); + check (d.size() == 3u); + d.add_back(137); + check (d.size() == 4u); + + log d.peek_front(); + check (d.peek_front() == 42); + + log d.peek_back(); + check (d.peek_back() == 137); + + let int i = d.pop_front(); + log i; + check (i == 42); + + i = d.pop_back(); + log i; + check (i == 137); + + i = d.pop_back(); + log i; + check (i == 137); + + i = d.pop_back(); + log i; + check (i == 17); + + /* FIXME (issue #138): Test d.get() once it no longer causes + * segfault. */ +} + fn main() { - let deque.t[int] d1 = deque.create[int](); - check (d1.size() == 0u); - d1.add_front(17); - d1.add_front(42); - d1.add_back(137); - check (d1.size() == 3u); - d1.add_back(137); - check (d1.size() == 4u); - /* FIXME (issue #133): We should check that the numbers come back - * to us correctly once the deque stops zeroing them out. */ + test_simple(); } -- cgit v1.2.3