有谁知道断言NameValueCollection是否等效的好方法?目前,我正在使用NUnit,但是CollectionAssert.AreEquivalent()似乎只声明了键。不是键和值。

我写了这段代码来帮助我,但是如果有一些现成的东西可以做到这一点,那就太好了。

private static void AssertNameValueCollectionAreEquivalent(NameValueCollection expectedCollection, NameValueCollection collection)
{
   // Will evaluate keys only
   CollectionAssert.AreEquivalent(expectedCollection, collection);

   foreach (string namevalue in collection)
   {
      Assert.AreEqual(expectedCollection[namevalue], collection[namevalue]);
   }
}

最佳答案

如何将其转换为Dictionary并断言为:

CollectionAssert.AreEquivalent(
    expectedCollection.AllKeys.ToDictionary(k => k, k => expectedCollection[k]),
    collection.AllKeys.ToDictionary(k => k, k => collection[k]));

关于c# - 断言NameValueCollection是否等效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10991292/

10-10 10:12