2016-08-09 11 views
2

コレクションの少なくとも1つのアイテムがNUnitを持つ与えられた述語と一致することを主張したいと思います。私は既にアイテムの数が0より大きいと主張したので、LINQのAny()メソッドの動作を模倣すれば十分です。Assert "結果コレクション内の少なくとも1つのアイテムが述語と一致します"

私は似て何かを探しています:

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

あるいは、少なくとものために: - 私は何をしないのです残念ながら

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

、唯一Is.All制約なし同等Is.Anyがあるように思われます?

注:私はあまり読みたくない:

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

答えて

2

これらのいずれかについてはどうですか?

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

私が見つかりました:

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

はまだ私はもうSelect()を必要としないソリューションを好むだろう。

関連する問題