我收到了NUnit.Framework.AssertionException预期:收集了订单。 当尝试使用下一个代码验证排序是否提升时:
var anotherList = new List<string> { "www.word-edit.officeapps.live.com", "www.wordclouds.com" };
Assert.That(anotherList, Is.Ordered.Ascending);
我有什么问题吗?还是错过了什么?我可以遵循另一种方法吗? 提前谢谢。
答案 0 :(得分:1)
您的测试失败,因为这些字符串不是按升序排列的。它在word-e
的第一个字符串和wordc
的第二个字符串失败,其中c
在e
之前,默认情况下会忽略连字符。如果您想在订购时使用连字符StringComparer.Ordinal
:
Assert.That(anotherList, Is.Ordered.Ascending.Using((IComparer)StringComparer.Ordinal));
现在测试将成功。
答案 1 :(得分:0)
谢谢,阿卜杜勒 在某些情况下,如果您的集合中包含UpperCase项,则应使用StringComparer.OrdinalIgnoreCase而不是StringComparer.Ordinal