Die Reihenfolge der Testausführung darf keine Rolle spielen. Wenn du die Add- und Remove-Funktionalität testen willst, dann würde ich den Code duplizieren (in diesem sehr einfachen Fall). Das verstößt zwar gegen DRY, aber im Sinne der Schritte im Test (Arrange-Act-Assert) haben die Arrangements in den beiden Tests nichts miteinander zu tun.
Der Test 'TestGetBuffer' hat sein eigenes 'Arrange'. Zufällig ist das heute identisch mit dem Arrange des 'TestAddBuffer', abe morgen willst du deinen 'TestAddBuffer' vielleicht anders gestalten.
Was ich mir vorstellen kann, sind kleine Arrangement-Methoden, damit der Arrange-Code nicht zu offt dupliziert wird, so etwa:
Delphi-Quellcode:
Function TestTInBuffer.AddSampleToBuffer : TBuffer;
begin
result := TBuffer.Create;
fInBuffer.add(result);
end;
procedure TestTInBuffer.TestAddBuffer;
begin
AddSampleToBuffer;
checkEquals(false,fInBuffer.isEmpty);
end;
procedure TestTInBuffer.TestGetBuffer;
var
buffer: TBuffer;
begin
AddSampleToBuffer;
buffer := fInBuffer.get;
checkEquals(true, assigned(buffer));
buffer.Free;
end;