add tests for pushing on back as well as front
git-svn-id: http://skia.googlecode.com/svn/trunk@827 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/DequeTest.cpp b/tests/DequeTest.cpp
index 3b8991a..e74fd28 100644
--- a/tests/DequeTest.cpp
+++ b/tests/DequeTest.cpp
@@ -39,6 +39,8 @@
SkDeque deq(sizeof(int));
int i;
+ // test pushing on the front
+
assert_count(reporter, deq, 0);
for (i = 1; i <= 10; i++) {
*(int*)deq.push_front() = i;
@@ -56,6 +58,38 @@
deq.pop_front();
}
assert_count(reporter, deq, 0);
+
+ // now test pushing on the back
+
+ for (i = 10; i >= 1; --i) {
+ *(int*)deq.push_back() = i;
+ }
+ assert_count(reporter, deq, 10);
+ assert_f2biter(reporter, deq, 10, 1);
+
+ for (i = 0; i < 5; i++) {
+ deq.pop_back();
+ }
+ assert_count(reporter, deq, 5);
+ assert_f2biter(reporter, deq, 10, 6);
+
+ for (i = 0; i < 5; i++) {
+ deq.pop_back();
+ }
+ assert_count(reporter, deq, 0);
+
+ // now tests pushing/poping on both ends
+
+ *(int*)deq.push_front() = 5;
+ *(int*)deq.push_back() = 4;
+ *(int*)deq.push_front() = 6;
+ *(int*)deq.push_back() = 3;
+ *(int*)deq.push_front() = 7;
+ *(int*)deq.push_back() = 2;
+ *(int*)deq.push_front() = 8;
+ *(int*)deq.push_back() = 1;
+ assert_count(reporter, deq, 8);
+ assert_f2biter(reporter, deq, 8, 1);
}
#include "TestClassDef.h"