1

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

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

2 回答 2

3

一个天真的但有效的解决方案:

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

这是做什么的?它接受接收到的值,再次对它们进行排序,然后检查结果列表是否等于原始列表。如果原始列表已经排序,这应该是正确的。如果收到的列表没有排序,它们会有所不同。

于 2018-04-16T07:45:53.350 回答
2

你可以使用这样的东西

String prev = "";
for(Ami ami : value.getResults())
{
  String currentName = ami.getName();
  if(prev.compareTo(currentName) > 0)
  { 
     return false;
  }
  prev = currentName;
}
return true;
于 2018-04-16T07:53:48.743 回答