|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- unit uutlArrayTests;
-
- {$mode objfpc}{$H+}
-
- interface
-
- uses
- Classes, SysUtils, TestFramework,
- uutlGenerics;
-
- type
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- TIntArray = specialize TutlArray<Integer>;
-
- TutlArrayTest = class(TTestCase)
- published
- procedure Prop_Get_Count;
- procedure Prop_Set_Count;
- procedure Prop_Get_Items;
- procedure Prop_Set_Items;
- procedure Prop_Get_Data;
- procedure Prop_Set_Data;
-
- procedure Meth_Ctor;
- end;
-
- implementation
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //TutlArrayTest/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Get_Count;
- var
- arr: TIntArray;
- begin
- arr := TIntArray.Create;
- try
- AssertEquals(0, arr.Count);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Set_Count;
- var
- arr: TIntArray;
- begin
- arr := TIntArray.Create;
- try
- AssertEquals(0, arr.Count);
- arr.Count := 1;
- AssertEquals(1, arr.Count);
- arr.Count := 5;
- AssertEquals(5, arr.Count);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Get_Items;
- var
- arr: TIntArray;
- begin
- arr := TIntArray.Create;
- try
- arr.Count := 1;
- AssertEquals(0, arr[0]);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Set_Items;
- var
- arr: TIntArray;
- begin
- arr := TIntArray.Create;
- try
- arr.Count := 3;
- arr[0] := 1;
- arr[1] := 3;
- arr[2] := 5;
- AssertEquals(1, arr[0]);
- AssertEquals(3, arr[1]);
- AssertEquals(5, arr[2]);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Get_Data;
- var
- arr: TIntArray;
- data: TIntArray.TData;
- begin
- arr := TIntArray.Create;
- try
- arr.Count := 3;
- arr[0] := 1;
- arr[1] := 3;
- arr[2] := 5;
- data := arr.Data;
- AssertEquals(3, Length(data));
- AssertEquals(1, data[0]);
- AssertEquals(3, data[1]);
- AssertEquals(5, data[2]);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Prop_Set_Data;
- var
- arr: TIntArray;
- data: TIntArray.TData;
- begin
- arr := TIntArray.Create;
- try
- SetLength(data, 5);
- arr.Data := data;
- AssertEquals(5, arr.Count);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- procedure TutlArrayTest.Meth_Ctor;
- var
- arr: TIntArray;
- data: TIntArray.TData;
- begin
- SetLength(data, 5);
- arr := TIntArray.Create(data);
- try
- AssertEquals(5, arr.Count);
- finally
- FreeAndNil(arr);
- end;
- end;
-
- initialization
- RegisterTest(TutlArrayTest.Suite);
-
- end.
-
|