Browse Source

no message

florian 20 years ago
parent
commit
453d3bf3d1
1 changed files with 41 additions and 0 deletions
  1. 41 0
      tests/webtbs/tw3589.pp

+ 41 - 0
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: [email protected] }
+{$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.