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"