TFoo die
function Equals(const other: TFoo): Boolean
hinzufügen, Tests dafür schreiben. Der Test ob Assign funktioniert beschränkt sich dann ob nach einem Assign(..) dann Equals(..) True zurück liefert.
Zitat:
Im Test prüfen, dass alle Properties korrekt gesetzt sind, also auch derzeit noch nicht bekannte (wie??)
Man könnte z.B. mittels
RTTI über alle Felder gehen und mittels Default-Comparer vergleichen. Ich finde das zu unsicher und den Aufwand nicht wert. Wenn ich an einer Klasse herumdoktere muss ich dafür akzeptieren auch die Erwartungen (den
Unit-Test) nochmal anschauen zu müssen. Die Assign-Methode (und ähnliches) muss man dann ja sowieso anpassen wenn man z.B. ein neues Feld hinzufügt.
Mein Weltbild ist manchmal schockierend simpel.