Skip to content

Commit dba0f94

Browse files
authored
Merge pull request #4 from pascal-libs/codex/добавить-тесты-для-dclasses,-dopf,-dutils
Add core module tests
2 parents 0ee8120 + 8717a85 commit dba0f94

6 files changed

Lines changed: 176 additions & 2 deletions

File tree

tests/console.lpr

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
{$mode objfpc}{$H+}
44

55
uses
6-
Classes, consoletestrunner, test_insertbuilder
6+
Classes, consoletestrunner,
7+
test_insertbuilder, test_dclasses, test_dopf, test_dutils
78
;
89
type
910

tests/gui.lpi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,12 @@
148148
<Item>
149149
<Name Value="EFOpenError"/>
150150
</Item>
151+
<Item>
152+
<Name Value="EdNotImplemented"/>
153+
</Item>
154+
<Item>
155+
<Name Value="EdException"/>
156+
</Item>
151157
</Exceptions>
152158
</Debugging>
153159
</CONFIG>

tests/gui.lpr

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
{$mode objfpc}{$H+}
44

55
uses
6-
Interfaces, Forms, GuiTestRunner, test_insertbuilder;
6+
Interfaces, Forms, GuiTestRunner,
7+
test_insertbuilder, test_dclasses, test_dopf, test_dutils;
78

89
{$R *.res}
910

tests/test_dclasses.pas

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
unit test_dclasses;
2+
3+
{$mode objfpc}{$H+}
4+
5+
interface
6+
7+
uses
8+
fpcunit, testregistry, dclasses, Classes;
9+
10+
type
11+
TTestDClasses = class(TTestCase)
12+
published
13+
procedure TestInheritances;
14+
end;
15+
16+
implementation
17+
18+
uses
19+
SysUtils
20+
;
21+
22+
procedure TTestDClasses.TestInheritances;
23+
begin
24+
AssertTrue(EdException.InheritsFrom(Exception));
25+
AssertTrue(TdObject.InheritsFrom(TObject));
26+
AssertTrue(TdComponent.InheritsFrom(TComponent));
27+
end;
28+
29+
initialization
30+
RegisterTest(TTestDClasses);
31+
end.

tests/test_dopf.pas

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
unit test_dopf;
2+
3+
{$mode objfpc}{$H+}
4+
5+
interface
6+
7+
uses
8+
fpcunit, testregistry, dopf, Classes;
9+
10+
type
11+
TTestDOpf = class(TTestCase)
12+
published
13+
procedure TestConnectionBrokerConnect;
14+
procedure TestGConnectionCreate;
15+
end;
16+
17+
implementation
18+
19+
type
20+
TMyConnection = class(specialize TdGConnection<TdConnectionBroker, TdLogger>);
21+
22+
procedure TTestDOpf.TestConnectionBrokerConnect;
23+
var
24+
B: TdConnectionBroker;
25+
begin
26+
B := TdConnectionBroker.Create;
27+
try
28+
try
29+
B.Connect;
30+
Fail('Expected exception');
31+
except
32+
on E: EdNotImplemented do ;
33+
end;
34+
finally
35+
B.Free;
36+
end;
37+
end;
38+
39+
procedure TTestDOpf.TestGConnectionCreate;
40+
var
41+
C: TMyConnection;
42+
begin
43+
C := TMyConnection.Create(nil);
44+
try
45+
AssertTrue(Assigned(C.Broker));
46+
AssertTrue(Assigned(C.Logger));
47+
finally
48+
C.Free;
49+
end;
50+
end;
51+
52+
initialization
53+
RegisterTest(TTestDOpf);
54+
end.

tests/test_dutils.pas

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
unit test_dutils;
2+
3+
{$mode objfpc}{$H+}
4+
5+
interface
6+
7+
uses
8+
fpcunit, testregistry, dutils;
9+
10+
type
11+
TTestDUtils = class(TTestCase)
12+
published
13+
procedure TestParameterizeSQLNilParams;
14+
procedure TestGetFieldsNilObject;
15+
procedure TestSetFieldsNilObject;
16+
procedure TestGetParamsNilObject;
17+
procedure TestSetParamsNilObject;
18+
end;
19+
20+
implementation
21+
22+
uses
23+
dClasses
24+
;
25+
26+
procedure TTestDUtils.TestParameterizeSQLNilParams;
27+
var
28+
S: string;
29+
begin
30+
S := 'select * from t where id=:id';
31+
try
32+
dParameterizeSQL(S, nil);
33+
Fail('Expected exception');
34+
except
35+
on E: EdException do ;
36+
end;
37+
end;
38+
39+
procedure TTestDUtils.TestGetFieldsNilObject;
40+
begin
41+
try
42+
dGetFields(nil, nil);
43+
Fail('Expected exception');
44+
except
45+
on E: EdException do ;
46+
end;
47+
end;
48+
49+
procedure TTestDUtils.TestSetFieldsNilObject;
50+
begin
51+
try
52+
dSetFields(nil, nil);
53+
Fail('Expected exception');
54+
except
55+
on E: EdException do ;
56+
end;
57+
end;
58+
59+
procedure TTestDUtils.TestGetParamsNilObject;
60+
begin
61+
try
62+
dGetParams(nil, nil);
63+
Fail('Expected exception');
64+
except
65+
on E: EdException do ;
66+
end;
67+
end;
68+
69+
procedure TTestDUtils.TestSetParamsNilObject;
70+
begin
71+
try
72+
dSetParams(nil, nil);
73+
Fail('Expected exception');
74+
except
75+
on E: EdException do ;
76+
end;
77+
end;
78+
79+
initialization
80+
RegisterTest(TTestDUtils);
81+
end.

0 commit comments

Comments
 (0)