-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexlisttest.pas
117 lines (90 loc) · 1.86 KB
/
exlisttest.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
unit ExListTest;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, fpcunit, testutils, testregistry,
ExList, Id, Exceptions;
type
{ TExObjectListTest }
TExObjectListTest= class(TTestCase)
protected
function CreateList: TExObjectList;
published
procedure Contains;
procedure NotContains;
procedure Get;
procedure GetNotExistant;
procedure GetNil;
end;
implementation
function TExObjectListTest.CreateList: TExObjectList;
var
List: TExObjectList;
begin
List := TExObjectList.Create;
List.OwnsObjects := true;
List.Add(TId.CreateFromString('test'));
Result:=List;
end;
procedure TExObjectListTest.Contains;
var
List : TExObjectList;
Id : TId;
begin
List:=CreateList;
Id := TId.CreateFromString('test');
AssertTrue(List.Contains(Id));
Id.Free;
List.Free;
end;
procedure TExObjectListTest.NotContains;
var
Id : TId;
List : TExObjectList;
begin
List := CreateList;
Id := TId.CreateFromString('dupa');
AssertFalse(List.Contains(Id));
Id.Free;
List.Free;
end;
procedure TExObjectListTest.Get;
var
List : TExObjectList;
Id : TId;
Id2 : TId;
begin
List:=CreateList;
Id:=TId.CreateFromString('test');
Id2:=List.Get(Id) as TId;
AssertFalse(Id = Id2);
List.Free;
Id.Free;
end;
procedure TExObjectListTest.GetNotExistant;
var
List : TExObjectList;
Id : TId;
begin
List:=CreateList;
Id:=TId.CreateFromString('nic');
AssertNull(List.Get(Id));
List.Free;
Id.Free;
end;
procedure TExObjectListTest.GetNil;
var
List : TExObjectList;
begin
List:=CreateList;
try
List.Get(Nil);
Fail('EInvalidArgument should be thrown, got result instead');
except
on EInvalidArgument do;
end;
List.Free;
end;
initialization
RegisterTest(TExObjectListTest);
end.