|
- 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.
|