From 453d3bf3d110eb7c94ef691cb325a5bb2139161b Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 3 Mar 2005 22:16:33 +0000 Subject: [PATCH] no message --- tests/webtbs/tw3589.pp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/webtbs/tw3589.pp diff --git a/tests/webtbs/tw3589.pp b/tests/webtbs/tw3589.pp new file mode 100644 index 0000000000..21603496f4 --- /dev/null +++ b/tests/webtbs/tw3589.pp @@ -0,0 +1,41 @@ +{ Source provided for Free Pascal Bug Report 3589 } +{ Submitted by "Michalis Kamburelis" on 2005-01-23 } +{ e-mail: michalis@camelot.homedns.org } +{$ifdef FPC} {$mode objfpc} {$endif} +{$assertions on} + +uses Classes; + +type + TBoxedInt = class(TCollectionItem) + public + Value: Integer; + end; + +var + C: TCollection; +begin + C := TCollection.Create(TBoxedInt); + try + TBoxedInt(C.Add).Value := 1; + TBoxedInt(C.Add).Value := 2; + TBoxedInt(C.Add).Value := 3; + TBoxedInt(C.Insert(0)).Value := 4; { 4 1 2 3 } + TBoxedInt(C.Insert(3)).Value := 5; { 4 1 2 5 3 } + TBoxedInt(C.Insert(5)).Value := 6; { 4 1 2 5 3 6 } +{ Writeln( + TBoxedInt(C.Items[0]).Value, ' ', + TBoxedInt(C.Items[1]).Value, ' ', + TBoxedInt(C.Items[2]).Value, ' ', + TBoxedInt(C.Items[3]).Value, ' ', + TBoxedInt(C.Items[4]).Value, ' ', + TBoxedInt(C.Items[5]).Value);} + Assert( + (TBoxedInt(C.Items[0]).Value = 4) and + (TBoxedInt(C.Items[1]).Value = 1) and + (TBoxedInt(C.Items[2]).Value = 2) and + (TBoxedInt(C.Items[3]).Value = 5) and + (TBoxedInt(C.Items[4]).Value = 3) and + (TBoxedInt(C.Items[5]).Value = 6)); + finally C.Free end; +end.