如何在 java 中使用 testng 断言字符串列表已排序?

How to assert list of string is in sorted order using testng in java?

我正在使用 "http am.com/au/v/so?sort=name" 从 Get 调用中按排序顺序获取响应。它按排序顺序获取结果。我如何断言列表中的名称是按字母顺序排列的。

List<String> list = new ArrayList<String>();
        for (Aml aml : value.getResults()) {
            name = aml.getName());

一个幼稚但有效的解决方案:

List<String> received = insert_code_for_get_call_here();
List<String> sorted = received.stream().sorted().collect(Collectors.toList());
assertEquals(sorted, received);

这是做什么的?它获取接收到的值,再次对它们进行排序,然后检查结果列表是否与原始列表相同。如果原始列表已经排序,这应该是正确的。如果收到的列表未排序,它们将不同。

你可以使用这样的东西

String prev = "";
for(Ami ami : value.getResults())
{
  String currentName = ami.getName();
  if(prev.compareTo(currentName) > 0)
  { 
     return false;
  }
  prev = currentName;
}
return true;