Created by
Stefan Glienke
| unit DataDrivenTests;
interface
uses
Spring.Testing;
type
TestData = class
class function TestCases: TArray<TTestCaseData>; static;
end;
TDataDrivenTest = class(TTestCase)
[TestCaseSource(TestData, 'TestCases')]
function DivideTest(n, d: Integer): Integer;
end;
implementation
class function TestData.TestCases: TArray<TTestCaseData>;
begin
Result := [
TTestCaseData.Create([12, 3]).Returns(4),
TTestCaseData.Create([12, 2]).Returns(6),
TTestCaseData.Create([12, 4]).Returns(3),
TTestCaseData.Create([0, 0]).Throws(EDivByZero).SetName('DivideByZero')
]
end;
function TDataDrivenTest.DivideTest(n, d: Integer): Integer;
begin
Result := n div d;
end;
initialization
TDataDrivenTest.Register('DataDrivenTests');
end.
|