moinmoin,
da ich recht neu bin in Sachen Unittests, hab ich einfach mal ein wenig rumgespielt damit. Dabei bin ich auf folgendes Problem gestoßen:
Delphi-Quellcode:
Type
TCalcUnits = (cuHl,cuLiter,cuDez,cMil);
TResultArray = array[TCalcUnit] of Int64;
function CalcUnits(avalue:int64):TResultArray;
Das is der zu testende Code. Soweit nix komplexes.
Delphi-Quellcode:
:
[Test]
[TestCase('Test 1','1234;[1,2,3,4]',';')]
[TestCase('Test 1','7832;[7,8,3,2]',';')]
Procedure TestCalcUnits(const avalue:int64;expected:TResultArray);
:
Procedure TestClass.TestCalcUnits(const avalue:int64;expected:TResultArray);
var
realResult : TResultArray;
begin
realResult := CalcUnits(avalue);
Assert.AreEqual(expected,realResult,'passed');
end;
Der Testcode dazu, wie ich dachte, das es funktionieren sollte. Was es aber nicht tut.
expected ist immer (0,0,0,0). Ändere ich expected auf const/var schreit er, das die parameter vom gleichen
Type sein müssen.
Wie muss ich das angeben, das er expected korrekt befüllt ?