Files
AGPascalTokenizer/DelphiTests/MainTest.pas
2019-01-02 15:52:49 +03:00

113 lines
2.3 KiB
ObjectPascal

unit MainTest;
interface
uses
DUnitX.TestFramework,
System.Classes,
WinAPI.Windows,
SysUtils,
AG.PascalTokenizer;
type
[TestFixture]
TMyTestObject = class(TObject)
public
// Sample Methods
// Simple single Test
[Test]
procedure Test1;
[Test]
procedure Test2;
[Test]
procedure Test3;
[Test]
procedure Test4;
[Test]
procedure Test5;
// Test with TestCase Atribute to supply parameters.
end;
implementation
procedure TMyTestObject.Test1;
var
input:TStrings;
tokenizer:TAGPasTokenizer;
token:TAGToken;
begin
input:= TStringList.Create();
input.LoadFromFile('..\..\MainTest.pas');
tokenizer:=TAGPasTokenizer.Create(input);
token.ended:=False;
while not token.ended do
begin
token:=tokenizer.GetNext;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end;
end;
procedure TMyTestObject.Test2;
var
s:string;
begin
s:=#39'kek'#39;
if not IsString(s) then
raise Exception.Create('Is string error 1');
s:='s:=12334;';
if IsString(s) then
raise Exception.Create('Is string error 2');
end;
procedure TMyTestObject.Test3;
var
s:string;
begin
s:='{ asdasdasd }';
if not IsComment(s) then
raise Exception.Create('Is comment error 1');
s:='(* s:=12334;*)';
if not IsComment(s) then
raise Exception.Create('Is comment error 2');
s:='// s:=12334;*)';
if not IsComment(s) then
raise Exception.Create('Is comment error 3');
end;
procedure TMyTestObject.Test4;
var
input:TStrings;
tokenizer:TAGPasTokenizerStack;
token:TAGToken;
begin
input:= TStringList.Create();
input.LoadFromFile('..\..\MainTest.pas');
tokenizer:=TAGPasTokenizerStack.Create(input);
token.ended:=False;
while not token.ended do
begin
token:=tokenizer.Pop;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end;
end;
procedure TMyTestObject.Test5;
var
input:TStrings;
tokenizer:TAGPasTokenizerStack;
token:TAGToken;
begin
input:= TStringList.Create();
input.LoadFromFile('..\..\MainTest.pas');
tokenizer:=TAGPasTokenizerStack.Create(input);
token.ended:=False;
while not token.ended do
begin
token:=tokenizer.Pop;
TDUnitX.CurrentRunner.Log(TLogLevel.Information, token.Text);
end;
end;
initialization
TDUnitX.RegisterTestFixture(TMyTestObject);
end.