source upload
This commit is contained in:
17
contrib/mORMot/SQLite3/Samples/07 - SynTest/SynTest.dpr
Normal file
17
contrib/mORMot/SQLite3/Samples/07 - SynTest/SynTest.dpr
Normal file
@@ -0,0 +1,17 @@
|
||||
program SynTest;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses
|
||||
{$I SynDprUses.inc} // use FastMM4 on older Delphi, or set FPC threads
|
||||
SynTestTest;
|
||||
|
||||
begin
|
||||
with TTestSuit.Create do
|
||||
try
|
||||
Run;
|
||||
readln;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
end.
|
117
contrib/mORMot/SQLite3/Samples/07 - SynTest/SynTestTest.pas
Normal file
117
contrib/mORMot/SQLite3/Samples/07 - SynTest/SynTestTest.pas
Normal file
@@ -0,0 +1,117 @@
|
||||
unit SynTestTest;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SynCommons,
|
||||
SynTests;
|
||||
|
||||
function Adding(A,B: double): Double; overload;
|
||||
function Adding(A,B: integer): integer; overload;
|
||||
|
||||
function Multiply(A,B: double): Double; overload;
|
||||
function Multiply(A,B: integer): integer; overload;
|
||||
|
||||
|
||||
type
|
||||
TTestNumbersAdding = class(TSynTestCase)
|
||||
published
|
||||
procedure TestIntegerAdd;
|
||||
procedure TestDoubleAdd;
|
||||
end;
|
||||
|
||||
TTestNumbersMultiplying = class(TSynTestCase)
|
||||
published
|
||||
procedure TestIntegerMultiply;
|
||||
procedure TestDoubleMultiply;
|
||||
end;
|
||||
|
||||
TTestSuit = class(TSynTestsLogged)
|
||||
published
|
||||
procedure MyTestSuit;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
function Adding(A,B: double): Double; overload;
|
||||
begin
|
||||
result := A+B;
|
||||
end;
|
||||
|
||||
function Adding(A,B: integer): integer; overload;
|
||||
begin
|
||||
result := A+B;
|
||||
end;
|
||||
|
||||
function Multiply(A,B: double): Double; overload;
|
||||
begin
|
||||
result := A*B;
|
||||
end;
|
||||
|
||||
function Multiply(A,B: integer): integer; overload;
|
||||
begin
|
||||
result := A*B;
|
||||
end;
|
||||
|
||||
|
||||
{ TTestSuit }
|
||||
|
||||
procedure TTestSuit.MyTestSuit;
|
||||
begin
|
||||
AddCase([TTestNumbersAdding,TTestNumbersMultiplying]);
|
||||
end;
|
||||
|
||||
{ TTestNumbersAdding }
|
||||
|
||||
procedure TTestNumbersAdding.TestDoubleAdd;
|
||||
var A,B: double;
|
||||
i: integer;
|
||||
begin
|
||||
for i := 1 to 1000 do
|
||||
begin
|
||||
A := Random;
|
||||
B := Random;
|
||||
Check(SameValue(A+B,Adding(A,B)));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestNumbersAdding.TestIntegerAdd;
|
||||
var A,B: integer;
|
||||
i: integer;
|
||||
begin
|
||||
for i := 1 to 1000 do
|
||||
begin
|
||||
A := Random(maxInt);
|
||||
B := Random(maxInt);
|
||||
Check(A+B=Adding(A,B));
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TTestNumbersMultiplying }
|
||||
|
||||
procedure TTestNumbersMultiplying.TestDoubleMultiply;
|
||||
var A,B: double;
|
||||
i: integer;
|
||||
begin
|
||||
for i := 1 to 1000 do
|
||||
begin
|
||||
A := Random;
|
||||
B := Random;
|
||||
Check(SameValue(A*B,Multiply(A,B)));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestNumbersMultiplying.TestIntegerMultiply;
|
||||
var A,B: integer;
|
||||
i: integer;
|
||||
begin
|
||||
for i := 1 to 1000 do
|
||||
begin
|
||||
A := Random(maxInt);
|
||||
B := Random(maxInt);
|
||||
Check(A*B=Multiply(A,B));
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
Reference in New Issue
Block a user