-
-
Notifications
You must be signed in to change notification settings - Fork 318
/
Copy pathPyEnvTest.pas
106 lines (91 loc) · 3.78 KB
/
PyEnvTest.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
(**************************************************************************)
(* *)
(* Module: Unit 'PyEnvTest' Copyright (c) 2021 *)
(* *)
(* Lucas Moura Belo - lmbelo *)
(* lucas.belo@live.com *)
(* BH, Brazil *)
(* *)
(* PyScripter *)
(* e-mail: pyscripter@gmail.com *)
(* *)
(* Project pages: https://github.com/Embarcadero/python4delphi *)
(* https://github.com/pyscripter/python4delphi *)
(**************************************************************************)
(* Functionality: Test unit for Python's environment *)
(* *)
(* *)
(**************************************************************************)
(* This source code is distributed with no WARRANTY, for no reason or use.*)
(* Everyone is allowed to use and change this code free for his own tasks *)
(* and projects, as long as this header and its copyright text is intact. *)
(* For changed versions of this code, which are public distributed the *)
(* following additional conditions have to be fullfilled: *)
(* 1) The header has to contain a comment on the change and the author of *)
(* it. *)
(* 2) A copy of the changed source has to be sent to the above E-Mail *)
(* address or my then valid address, if this is possible to the *)
(* author. *)
(* The second condition has the target to maintain an up to date central *)
(* version of the component. If this condition is not acceptable for *)
(* confidential or legal reasons, everyone is free to derive a component *)
(* or to generate a diff file to my or other original sources. *)
(**************************************************************************)
unit PyEnvTest;
interface
uses
DUnitX.TestFramework, PythonEngine;
type
[TestFixture]
TPyEnvTest = class
private
FPythonEngine: TPythonEngine;
public
[SetupFixture]
procedure SetupFixture;
[TearDownFixture]
procedure TearDownFixture;
[Test]
procedure TestLibFile();
[Test]
procedure TestZipFile();
[Test]
procedure TestExtraction();
[Test]
procedure TestConfigure();
end;
implementation
uses
PythonLoad;
{ TPyEnvTest }
procedure TPyEnvTest.SetupFixture;
begin
FPythonEngine := TPythonEngine.Create(nil);
FPythonEngine.Name := 'PythonEngine';
end;
procedure TPyEnvTest.TearDownFixture;
begin
FPythonEngine.Free();
end;
procedure TPyEnvTest.TestConfigure;
begin
TPythonLoad.Configure(FPythonEngine);
FPythonEngine.LoadDll;
Assert.IsTrue(FPythonEngine.IsHandleValid());
end;
procedure TPyEnvTest.TestExtraction;
begin
TPythonLoad.Extract();
Assert.IsTrue(TPythonLoad.HasPythonDist());
end;
procedure TPyEnvTest.TestLibFile;
begin
Assert.IsTrue(TPythonLoad.HasPythonLib());
end;
procedure TPyEnvTest.TestZipFile;
begin
Assert.IsTrue(TPythonLoad.HasPythonZip());
end;
initialization
TDUnitX.RegisterTestFixture(TPyEnvTest);
end.