在验证列表已排序且项目具有特殊字符时获取NUnit AssertionException

时间:2017-01-11 19:53:16

标签: c# sorting testing nunit assert

我收到了NUnit.Framework.AssertionException预期:收集了订单。 当尝试使用下一个代码验证排序是否提升时:

var anotherList = new List<string> { "www.word-edit.officeapps.live.com", "www.wordclouds.com" };
Assert.That(anotherList, Is.Ordered.Ascending);

我有什么问题吗?还是错过了什么?我可以遵循另一种方法吗? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您的测试失败,因为这些字符串不是按升序排列的。它在word-e的第一个字符串和wordc的第二个字符串失败,其中ce之前,默认情况下会忽略连字符。如果您想在订购时使用连字符StringComparer.Ordinal

Assert.That(anotherList, Is.Ordered.Ascending.Using((IComparer)StringComparer.Ordinal));

现在测试将成功。

答案 1 :(得分:0)

谢谢,阿卜杜勒 在某些情况下,如果您的集合中包含UpperCase项,则应使用StringComparer.OrdinalIgnoreCase而不是StringComparer.Ordinal