From f9e71320758a4d3a94b58676abad7534d0b160bf Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 22 Feb 2011 19:56:18 +0000 Subject: [PATCH] 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 --- tests/DequeTest.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) 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 @@ 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" -- 2.7.4