如何在 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;
我正在使用 "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;