如何断言字符串是否在字符串列表中?

时间:2015-07-15 20:51:31

标签: vb.net nunit

我试图验证某个值是否在可接受的值列表中。

我正在尝试这个:

Assert.That("Dog", [Is].SubsetOf({"Cat", "Dog", "Fish"}))

我收到错误:

Expected: subset of < "Cat", "Dog", "Fish" >
  But was:  "Dog"

我试图避免使用.Contains。

Assert.That({"Cat", "Dog", "Fish"}.Contains("Dog"))

我的名单出了点问题,对吧?

2 个答案:

答案 0 :(得分:3)

流利的方式:

Assert.That(someList, Contains.Item(someItem));

答案 1 :(得分:0)

好吧,Assert.Contains工作正常。我只是想找到一个更容易阅读的&#34;我自己的方法。

 Assert.Contains("Dog", {"Cat", "Dog", "Fish"})

我最喜欢的解决方法是使用扩展方法,但我无法创建新模块只是为了添加[In]

<Extension()>
Function [In](Of TItem, TColl)(this As TItem, ParamArray items() As TColl)
    Return Array.IndexOf(items, this) > -1
End Function

想要这样:

Assert.That(MyString, [In]({"Cat", "Dog", "Fish"}))