diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-02-22 19:56:18 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-02-22 19:56:18 +0000 |
commit | f9e71320758a4d3a94b58676abad7534d0b160bf (patch) | |
tree | dad0b32289bb2d4a31ada4b65418d4787be98c80 | |
parent | ba9d628b1b7aa13ddd59499624f672c6443b5f74 (diff) |
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
-rw-r--r-- | tests/DequeTest.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/DequeTest.cpp b/tests/DequeTest.cpp index 3b8991adda..e74fd2802f 100644 --- a/tests/DequeTest.cpp +++ b/tests/DequeTest.cpp @@ -39,6 +39,8 @@ static void TestDeque(skiatest::Reporter* reporter) { 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 @@ static void TestDeque(skiatest::Reporter* reporter) { 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" |