delphimvcframework/unittests/general/TestServer/TestServerControllerJSONRPCU.pas

120 lines
2.7 KiB
ObjectPascal
Raw Normal View History

unit TestServerControllerJSONRPCU;
interface
uses
MVCFramework, MVCFramework.Commons, MVCFramework.JSONRPC, JsonDataObjects;
type
TTestJSONRPCController = class(TMVCJSONRPCController)
public
2020-05-02 16:39:32 +02:00
function Subtract(Value1, Value2: Int64): Integer;
procedure MyNotify;
2020-05-02 16:39:32 +02:00
function Add(Value1, Value2, Value3: Int64): TJsonObject;
function GetListFromTo(aFrom, aTo: Int64): TJsonArray;
function MultiplyString(aString: string; Multiplier: Int64): string;
end;
TTestJSONRPCClass = class(TObject)
public
2020-05-02 16:39:32 +02:00
function Subtract(Value1, Value2: Int64): Integer;
procedure MyNotify;
2020-05-02 16:39:32 +02:00
function Add(Value1, Value2, Value3: Int64): TJsonObject;
function GetListFromTo(aFrom, aTo: Int64): TJsonArray;
function MultiplyString(aString: string; Multiplier: Int64): string;
function AddTimeToDateTime(aDateTime: TDateTime; aTime: TTime): TDateTime;
end;
implementation
uses
System.SysUtils, MVCFramework.Logger, System.StrUtils;
{ TTestJSONRPCController }
2020-05-02 16:39:32 +02:00
function TTestJSONRPCController.Add(Value1, Value2, Value3: Int64): TJsonObject;
begin
Result := TJsonObject.Create;
2020-05-02 16:39:32 +02:00
Result.I['res'] := Value1 + Value2 + Value3;
end;
function TTestJSONRPCController.GetListFromTo(aFrom, aTo: Int64): TJsonArray;
var
2019-08-02 12:32:23 +02:00
I: Cardinal;
begin
Result := TJsonArray.Create;
for I := aFrom to aTo do
Result.Add(I);
end;
function TTestJSONRPCController.MultiplyString(aString: string;
Multiplier: Int64): string;
var
I: Integer;
begin
Result := aString;
for I := 2 to Multiplier do
begin
Result := Result + aString;
end;
end;
procedure TTestJSONRPCController.MyNotify;
begin
// this is a notify with no parameters and no result code
Self.ClassName;
end;
2020-05-02 16:39:32 +02:00
function TTestJSONRPCController.Subtract(Value1, Value2: Int64): Integer;
begin
2020-05-02 16:39:32 +02:00
Result := Value1 - Value2;
end;
{ TTestJSONRPCClass }
2020-05-02 16:39:32 +02:00
function TTestJSONRPCClass.Add(Value1, Value2, Value3: Int64): TJsonObject;
begin
Result := TJsonObject.Create;
2020-05-02 16:39:32 +02:00
Result.I['res'] := Value1 + Value2 + Value3;
end;
function TTestJSONRPCClass.AddTimeToDateTime(aDateTime: TDateTime;
aTime: TTime): TDateTime;
begin
Result := aDateTime + aTime;
end;
function TTestJSONRPCClass.GetListFromTo(aFrom, aTo: Int64): TJsonArray;
var
2019-08-02 12:32:23 +02:00
I: Cardinal;
begin
Result := TJsonArray.Create;
for I := aFrom to aTo do
Result.Add(I);
end;
function TTestJSONRPCClass.MultiplyString(aString: string;
Multiplier: Int64): string;
var
I: Integer;
begin
Result := aString;
for I := 2 to Multiplier do
begin
Result := Result + aString;
end;
end;
procedure TTestJSONRPCClass.MyNotify;
begin
// this is a notify with no parameters and no result code
Self.ClassName;
end;
2020-05-02 16:39:32 +02:00
function TTestJSONRPCClass.Subtract(Value1, Value2: Int64): Integer;
begin
2020-05-02 16:39:32 +02:00
Result := Value1 - Value2;
end;
end.