Files
AGLogs/Tests/Unit2.pas
2018-05-28 15:56:36 +03:00

52 lines
1.4 KiB
ObjectPascal

unit Unit2;
interface
uses
DUnitX.TestFramework,AG.Logs,System.Classes,System.IOUtils,System.SysUtils,Winapi.Windows;
type
[TestFixture]
TMyTestObject = class(TObject)
public
// Sample Methods
// Simple single Test
[Test]
procedure Test1;
// Test with TestCase Atribute to supply parameters.
end;
implementation
procedure TMyTestObject.Test1;
var
MultiLog:TAGLog;
Stream:TStream;
s:TBytes;
begin
MultiLog:=TAGMultiLog.Create(nil);
(MultiLog as TAGMultiLog).Logs.Add(TAGNullLog.Create());
(MultiLog as TAGMultiLog).Logs.Add(TAGDiskLog.Create('test.log'));
(MultiLog as TAGMultiLog).Logs.Add(TAGRamLog.Create());
{$IFNDEF MSWINDOWS}(MultiLog as TAGMultiLog).Logs.Add(TAGCommandLineLog.Create(GetStdHandle(STD_OUTPUT_HANDLE))){$ENDIF};
try
s:=TFile.ReadAllBytes('test2.log');
except
s:=TBytes.Create();
end;
Stream:=TFileStream.Create('test2.log',fmCreate+fmOpenReadWrite+fmShareDenyWrite);
Stream.WriteBuffer(s,length(s));
(MultiLog as TAGMultiLog).Logs.Add(TAGStreamLog.Create(Stream));
(MultiLog as TAGMultiLog).Logs.Add(TAGCallBackLog.Create(procedure(s:string)
begin
Self.WriteLn(s);
end));{}
MultiLog.Write('Str Test');
MultiLog.Write('Str+Object Test',self);
FreeAndNil(MultiLog);
end;
initialization
TDUnitX.RegisterTestFixture(TMyTestObject);
end.