diff options
Diffstat (limited to 'packages/fcl-stl/tests/gdequetest.pp')
| -rw-r--r-- | packages/fcl-stl/tests/gdequetest.pp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/fcl-stl/tests/gdequetest.pp b/packages/fcl-stl/tests/gdequetest.pp new file mode 100644 index 0000000000..9dfb8a0e9a --- /dev/null +++ b/packages/fcl-stl/tests/gdequetest.pp @@ -0,0 +1,55 @@ +{$mode objfpc} + +unit gdequetest; + +interface + +uses fpcunit, testregistry, gdeque; + +type dequelli=specialize TDeque<longint>; + +type TGDequeTest = class(TTestCase) + Published + procedure BackTest; + procedure PushTest; + public + procedure Setup;override; + private + data:dequelli; + end; + +implementation + +procedure TGDequeTest.BackTest; +var i:longint; +begin + AssertEquals('Not IsEmpty', true, data.IsEmpty); + for i:=0 to 10 do + data.pushback(i); + for i:=0 to 10 do begin + AssertEquals('Wrong data', 10-i, data.back); + AssertEquals('Wrong size', 11-i, data.size); + data.popback; + end; + AssertEquals('Not IsEmpty', true, data.IsEmpty); +end; + +procedure TGDequeTest.PushTest; +var i:longint; +begin + for i:=6 to 10 do + data.pushBack(i); + for i:=5 downto 0 do + data.pushFront(i); + for i:=0 to 10 do + AssertEquals('Wrong data', i, data[i]); +end; + +procedure TGDequeTest.Setup; +begin + data:=dequelli.create; +end; + +initialization + RegisterTest(TGDequeTest); +end. |
