断言"结果集合中的至少一个项目与谓词匹配#34;

时间:2016-08-09 14:44:25

标签: c# nunit nunit-2.6

我想声明集合中至少有一项与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);

2 个答案:

答案 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()的解决方案。