我想声明集合中至少有一项与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);
答案 0 :(得分:6)
其中一个怎么样?
import sqlite3
def get_col_names():
#this works beautifully given that you know the table name
conn = sqlite3.connect("t.db")
c = conn.cursor()
c.execute("select * from tablename")
return [member[0] for member in c.description]
答案 1 :(得分:3)
我找到了:
Assert.That (resultEnumerable.Select (x => x.Property), Has.Some.EqualTo ("x"));
仍然更喜欢我不再需要Select()
的解决方案。