mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-28 17:09:23 +02:00
TAChart: Check for incorrect parameters in TListChartSource.AddXYList. Add tests.
git-svn-id: trunk@37578 -
This commit is contained in:
parent
3aa1d2ee1d
commit
3d7ff766da
@ -45,6 +45,9 @@ type
|
||||
function GetCount: Integer; override;
|
||||
function GetItem(AIndex: Integer): PChartDataItem; override;
|
||||
procedure SetYCount(AValue: Cardinal); override;
|
||||
public
|
||||
type
|
||||
EYListEmptyError = class(EChartError);
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
@ -387,7 +390,10 @@ function TListChartSource.AddXYList(
|
||||
AX: Double; const AY: array of Double;
|
||||
const ALabel: String; AColor: TChartColor): Integer;
|
||||
begin
|
||||
if Length(AY) = 0 then
|
||||
raise EYListEmptyError.Create('AddXYList: Y List is empty');
|
||||
Result := Add(AX, AY[0], ALabel, AColor);
|
||||
if Length(AY) > 1 then
|
||||
SetYListInternal(Result, High(AY), @AY[1]);
|
||||
end;
|
||||
|
||||
|
@ -392,6 +392,23 @@ begin
|
||||
FSource.DataPoints.Add('1|2|3|4|?|t');
|
||||
AssertEquals(3, FSource.YCount);
|
||||
AssertEquals(4, FSource[1]^.YList[1]);
|
||||
|
||||
FSource.AddXYList(2, [7, 8, 9]);
|
||||
AssertEquals(3, FSource.YCount);
|
||||
AssertEquals(7, FSource[2]^.Y);
|
||||
AssertEquals(8, FSource[2]^.YList[0]);
|
||||
AssertEquals(9, FSource[2]^.YList[1]);
|
||||
FSource.AddXYList(3, [10]);
|
||||
AssertEquals(4, FSource.Count);
|
||||
AssertEquals(3, FSource.YCount);
|
||||
AssertEquals(10, FSource[3]^.Y);
|
||||
AssertEquals(0, FSource[3]^.YList[0]);
|
||||
try
|
||||
FSource.AddXYList(4, []);
|
||||
Fail('Empty YList');
|
||||
except on E: Exception do
|
||||
AssertTrue('Empty YList', E is TListChartSource.EYListEmptyError);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TListSourceTest.SetUp;
|
||||
|
Loading…
Reference in New Issue
Block a user