Fluentasserungen, die Inhalte von Listen anstelle von Listen selbst vergleichen
-
27-10-2019 - |
Frage
Ich habe zwei Objekte (Instanzen derselben Klasse) mit einer Reihe von Eigenschaften, einige von ihnen Listen anderer Objekte.
class A {
public int a { get; set; }
public string b { get; set; }
public IList<C> cs { get; set; }
}
Ich möchte diese mit dem vergleichen Fließende Bibliothek, und stellen Sie sicher, dass sie die gleichen Eigenschaften haben, also füge ich hinzu
first.ShouldHave().AllProperties().EqualTo(second);
Aber dann bekomme ich einen Fehler, das
Erwartete Immobilien -CS haben Wertu003CC, C, C> aber gefundenu003CC, C, C>
Mit anderen Worten, beim Vergleich von Eigenschaften, die Listen sind, führt es einen Referenzgleich aus, der in diesem Fall offensichtlich fehlschlägt.
Wie sage ich fließende Ausschaltungen, um das zu behaupten? Die Eigenschaften der Elemente in den Listen sind gleich und nicht die Listen selbst?
Lösung
Dies wird als Version 1.7.0 unterstützt. Lesen Sie hier die Versionshinweise. http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-neen-release.html