-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLibTest.pas
More file actions
90 lines (74 loc) · 1.57 KB
/
LibTest.pas
File metadata and controls
90 lines (74 loc) · 1.57 KB
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
unit LibTest;
// LibTest is contains the unit-tests for the Lib unit.
{$LONGSTRINGS ON}
{$MODE OBJFPC}
interface
uses Lib, PascalTest;
procedure testAddTen();
procedure testConcatStrings();
procedure testReturnsOnePointZero();
procedure testReturnsTen();
procedure firstTest();
procedure run();
procedure secondTest();
procedure thirdTest();
implementation
procedure run();
begin
testReturnsTen();
testAddTen();
testConcatStrings();
testReturnsOnePointZero();
firstTest();
secondTest();
thirdTest()
end;
procedure testReturnsTen();
begin
Writeln('testReturnsTen');
assert(returnsTen() = 10)
end;
procedure testAddTen();
begin
Writeln('testAddTen');
assertEqual(addTen(2), 12)
end;
procedure testConcatStrings();
begin
Writeln('testConcatStrings');
assertEqual(concatStrings('a', ' string'), 'a string');
end;
procedure testReturnsOnePointZero();
begin
Writeln('testReturnsOnePointZero');
assertInDelta(returnsOnePointZero(), 1.0);
end;
// The next three tests ensure state isolation accross tests i.e. varable `a`
// is scoped to individual tests.
procedure firstTest();
var
a: integer;
begin
Writeln('firstTest');
a := 1;
assertEqual(1 , a)
end;
procedure secondTest();
var
a: integer;
begin
Writeln('secondTest');
a := 1;
a := a + 1;
assertEqual(2 , a)
end;
procedure thirdTest();
var
a: integer;
begin
Writeln('thirdTest');
a := 1;
assertEqual(1 , a);
end;
// end state isolation tests.
end.