gstacktest.pp 759 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. {$mode objfpc}
  2. unit gstacktest;
  3. interface
  4. uses fpcunit, testregistry, gstack;
  5. type TStacklli=specialize TStack<longint>;
  6. type TGTStackTest = class(TTestCase)
  7. Published
  8. procedure TStackTest;
  9. public
  10. procedure Setup;override;
  11. private
  12. data:TStacklli;
  13. end;
  14. implementation
  15. procedure TGTStackTest.TStackTest;
  16. var i:longint;
  17. begin
  18. AssertEquals('Not IsEmpty', true, data.IsEmpty);
  19. for i:=0 to 10 do
  20. data.push(i);
  21. for i:=0 to 10 do begin
  22. AssertEquals('Wrong data', 10-i, data.top);
  23. AssertEquals('Wrong size', 11-i, data.size);
  24. data.pop;
  25. end;
  26. AssertEquals('Not IsEmpty', true, data.IsEmpty);
  27. end;
  28. procedure TGTStackTest.Setup;
  29. begin
  30. data:=TStacklli.create;
  31. end;
  32. initialization
  33. RegisterTest(TGTStackTest);
  34. end.