Ich habe zwei Klassen:Verwendung von FluentAssertions für Eigenschaft in Sammlung ausschließen?
public class ClassA
{
public int? ID {get; set;}
public IEnumerable<ClassB> Children {get; set;}
}
public class ClassB
{
public int? ID {get; set;}
public string Name {get; set;}
}
ich fließend Behauptungen verwenden möchten KlasseA Instanzen zu vergleichen. Ich möchte jedoch die IDs ignorieren (weil die IDs nach dem Speichern zugewiesen wurden).
Ich weiß, ich kann dies tun:
expectedA.ShouldBeEquivalentTo(actualA, options => options.Excluding(x => x.PropertyPath == "Children[0].ID"));
Was ich natürlich für jede Klasse B in der Sammlung wiederholen. Ich suche jedoch nach einer Möglichkeit, alle IDs auszuschließen (statt einen Ausschluss für jedes Element zu machen).
Ich habe gelesen this question aber wenn ich die [0] Indexer entfernen die Assertions fehlschlagen.
Ist das möglich?
Ich werde diesen als die Antwort markieren, da der Regex in einer Erweiterungsmethode der Ansatz ist, mit dem ich am Ende ging – Liath
Wie hat sich das in neueren Versionen von FluentAssertions geändert? Ich bin mir nicht sicher, ob "PropertyPath" noch da ist – superjos