5

コレクションの少なくとも 1 つのアイテムが、NUnit の特定の述語に一致すると断言したいと思います。アイテムの数が 0 より大きいことは既に断言したので、LINQ のAny()メソッドの動作を模倣するだけで十分です。

私は似たようなものを探しています:

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);
4

2 に答える 2

9

この中の一つはいかがですか?

Assert.That (resultEnumerable, Has.Some.Property ("Property").EqualTo ("x"));
Assert.That (resultEnumerable, Has.Some.Matches<X> (x => x.Property == "x"));
于 2016-08-09T14:54:22.150 に答える