📄 testtharraystringfix.pas
字号:
unit testTHArrayStringFix;
interface
uses
SysUtils, TestFrameWork, DynamicArrays;
type
TTestTHArrayStringFix = class(TTestCase)
private
protected
procedure SetUp; override;
procedure TearDown; override;
published
procedure testTHArrayStringFix1;
procedure testTHArrayStringFix2;
procedure testTHArrayStringFix3;
procedure testTHArrayStringFix4;
procedure testTHArrayStringFix5;
procedure testTHArrayStringFixZeroLength;
end;
implementation
procedure TTestTHArrayStringFix.SetUp;
begin
end;
procedure TTestTHArrayStringFix.TearDown;
begin
end;
procedure TTestTHArrayStringFix.testTHArrayStringFix1;
var
arr:THArrayStringFix;
begin
try
arr := THArrayStringFix.Create;
Check(False);
except
on E:Exception do
CheckEquals('Use CreateSize to create THArrayStringFix!', E.Message);
end;
{ roma 23.01.2005
try
arr := THArrayStringFix.CreateSize(0);
Check(False);
except
on E:Exception do
CheckEquals('The parameter Size cannot be zero!', E.Message);
end;
}
end;
procedure TTestTHArrayStringFix.testTHArrayStringFix2;
var
arr:THArrayStringFix;
begin
arr := THArrayStringFix.CreateSize(5);
CheckEquals(0, arr.Count);
arr.AddValue('');
arr.AddValue('a');
arr.AddValue('11');
arr.AddValue('bbb');
arr.AddValue('bbbb');
arr.AddValue('bbbbb');
arr.AddValue('bbbbbb');
CheckEquals(7, arr.Count);
CheckEquals('', arr[0]);
CheckEquals('a', arr[1]);
CheckEquals('11', arr[2]);
CheckEquals('bbb', arr[3]);
CheckEquals('bbbb', arr[4]);
CheckEquals('bbbbb', arr[5]);
CheckEquals('bbbbb', arr[6]);
CheckEquals(-1, arr.IndexOf('bbbbbb'));
CheckEquals(-1, arr.IndexOf('aa'));
CheckEquals(-1, arr.IndexOf('1'));
CheckEquals(-1, arr.IndexOf('bb'));
CheckEquals(0, arr.IndexOf(''));
CheckEquals(2, arr.IndexOf('11'));
CheckEquals(1, arr.IndexOf('a'));
CheckEquals(3, arr.IndexOf('bbb'));
CheckEquals(4, arr.IndexOf('bbbb'));
CheckEquals(5, arr.IndexOf('bbbbb'));
arr.Free;
end;
procedure TTestTHArrayStringFix.testTHArrayStringFix3;
var
arr:THArrayStringFix;
begin
arr := THArrayStringFix.CreateSize(5);
CheckEquals(0, arr.Count);
try
arr.Value[0] := 'aaa';
Check(False);
except
on E:ERangeError do
CheckEquals('Element with index 0 not found !', E.Message);
end;
try
arr.Value[1] := 'aaa';
Check(False);
except
on E:ERangeError do
CheckEquals('Element with index 1 not found !', E.Message);
end;
arr.Free;
end;
procedure TTestTHArrayStringFix.testTHArrayStringFix4;
var
arr:THArrayStringFix;
begin
arr := THArrayStringFix.CreateSize(1024);
CheckEquals(0, arr.Count);
CheckEquals(-1, arr.IndexOf(''));
CheckEquals(-1, arr.IndexOf('n'));
CheckEquals(-1, arr.IndexOfFrom('', 1));
CheckEquals(-1, arr.IndexOf('g'), 10);
arr.AddValue('4444');
arr.AddValue('1234567890');
CheckEquals(-1, arr.IndexOf(''));
CheckEquals(-1, arr.IndexOf('n'));
CheckEquals(-1, arr.IndexOf('4'));
CheckEquals(-1, arr.IndexOf('444'));
CheckEquals( 0, arr.IndexOf('4444'));
CheckEquals(-1, arr.IndexOf('123456789'));
CheckEquals( 1, arr.IndexOf('1234567890'));
CheckEquals( 1, arr.IndexOfFrom('1234567890', 1));
CheckEquals(-1, arr.IndexOf('1234567890'), 2);
CheckEquals(-1, arr.IndexOf('1234567890'), 3);
CheckEquals(-1, arr.IndexOf('1234567890'), 4);
end;
procedure TTestTHArrayStringFix.testTHArrayStringFix5;
var
arr:THArrayStringFix;
begin
arr := THArrayStringFix.CreateSize(1);
CheckEquals(0, arr.Count);
arr.AddValue('');
arr.AddValue('a');
arr.AddValue('11');
arr.AddValue('bbb');
arr.AddValue('5555');
arr.AddValue('dfgh');
arr.AddValue('\');
CheckEquals(7, arr.Count);
CheckEquals('', arr[0]);
CheckEquals('a', arr[1]);
CheckEquals('1', arr[2]);
CheckEquals('b', arr[3]);
CheckEquals('5', arr[4]);
CheckEquals('d', arr[5]);
CheckEquals('\', arr[6]);
CheckEquals(-1, arr.IndexOf('bbbbbb'));
CheckEquals(-1, arr.IndexOf('aa'));
CheckEquals( 2, arr.IndexOf('1'));
CheckEquals(-1, arr.IndexOf('bb'));
CheckEquals( 0, arr.IndexOf(''));
CheckEquals(-1, arr.IndexOf('11'));
CheckEquals( 1, arr.IndexOf('a'));
CheckEquals(-1, arr.IndexOf('bbb'));
CheckEquals(-1, arr.IndexOf('5555'));
CheckEquals( 6, arr.IndexOf('\'));
arr.Free;
end;
procedure TTestTHArrayStringFix.testTHArrayStringFixZeroLength;
var
arr:THArrayStringFix;
begin
arr := THArrayStringFix.CreateSize(0);
CheckEquals(0, arr.Count);
arr.AddValue('');
CheckEquals(1, arr.Count);
CheckEquals('', arr[0]);
arr.AddValue('a');
CheckEquals(2, arr.Count);
CheckEquals('', arr[0]);
CheckEquals('', arr[1]);
arr.AddValue('a1');
CheckEquals(3, arr.Count);
CheckEquals('', arr[0]);
CheckEquals('', arr[1]);
CheckEquals('', arr[2]);
arr.Free;
end;
initialization
TestFramework.RegisterTest(TTestTHArrayStringFix.Suite);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -