mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 19:09:35 +02:00
42 lines
1.1 KiB
ObjectPascal
42 lines
1.1 KiB
ObjectPascal
{ 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.
|