Fluidesserzioni che confrontano i contenuti degli elenchi anziché gli elenchi stessi
-
27-10-2019 - |
Domanda
Ho due oggetti (istanze della stessa classe) con un mucchio di proprietà, alcuni dei quali elenchi di altri oggetti.
class A {
public int a { get; set; }
public string b { get; set; }
public IList<C> cs { get; set; }
}
Voglio confrontarli usando il Biblioteca Fluentassertions, e assicurati che abbiano le stesse proprietà, quindi aggiungo
first.ShouldHave().AllProperties().EqualTo(second);
Ma poi ricevo un errore che
Proprietà prevista CS per avere valoreu003CC, C, C> ma trovatou003CC, C, C>
In altre parole, quando si confrontano le proprietà che sono elenchi, fa un equal di riferimento, che ovviamente fallisce in questo caso.
Come faccio a dire fluentassertions per affermarlo le proprietà degli elementi negli elenchi sono uguali, piuttosto che le liste stesse?
Soluzione
Questo è supportato dalla versione 1.7.0. Leggi le note di rilascio qui. http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-been-released.html