2016-08-09 112 views
2

Ich möchte bestätigen, dass mindestens ein Element einer Auflistung ein bestimmtes Prädikat mit NUnit übereinstimmt. Ich habe bereits behauptet, dass die Anzahl der Elemente größer als 0 ist, also reicht es aus, das Verhalten der LINQ-Methode Any() nachzuahmen.Aktivieren Sie "mindestens ein Element in der Ergebnissammlung entspricht Prädikat"

Ich suche nach etwas ähnlich:

Assert.That(resultEnumerable, Is.Any.Matching(x => x.Property == "x")); 

Oder zumindest für:

Assert.That(resultEnumerable.Select(x => x.Property), Is.Any.EqualTo("x")); 

Leider scheint es nur eine Is.All Einschränkung und kein Äquivalent Is.Any zu sein - was soll ich fehlt ?

Anmerkung: Ich möchte nicht, das viel weniger lesbar:

Assert.That(resultEnumerable.Any(x => x.Property == "x"), Is.True); 

Antwort

2

Wie wäre es mit einem davon?

Assert.That (resultEnumerable, Has.Some.Property ("Property").EqualTo ("x")); 
Assert.That (resultEnumerable, Has.Some.Matches<X> (x => x.Property == "x")); 
1

ich gefunden:

Assert.That (resultEnumerable.Select (x => x.Property), Has.Some.EqualTo ("x")); 

Würde noch eine Lösung bevorzugen, wo ich die Select() nicht mehr benötigen.