我有以下代码,其中我将接收names
的列表作为参数。在循环中,首先我将列表中的索引0值分配给局部变量name
。在将列表中的下一个值与name
比较之后。如果我们从列表中收到任何不相等的值,则我将result
的值分配为1并导致测试用例失败。
下面是数组列表
List<String> names= new ArrayList<String>();
names.add("John");
names.add("Mark");
下面是我的硒测试方法
public void test(List<String> names)
String name=null;
int a=0;
for(String value:names){
if(name==null){
System.out.println("Value is null");
name=value;
}
else if(name.equals(value)){
System.out.println("Received Same name");
name=value;
}
else{
a=1;
Assert.fail("Received different name in between");
}
}
如何将以上代码转换为lambda表达式?我使用的是黄瓜数据模型,因此我从功能文件接收数据作为列表。由于我无法给出清晰的解释,因此只发布了我需要转换为lambda表达式的示例逻辑。
答案 0 :(得分:1)
是否要查找重复项,每当您有不同的值时,将a设置为1并说断言失败。您可以通过以下方式实现:
let numberOfResults = results.count
if myArray.count > numberOfResults {
let object = myArray[numberOfResults]
print(object)
}
答案 1 :(得分:1)
这是解决方案:它循环检查列表中的所有元素,是否全部相同。 您可以尝试添加或编辑列表,以便获得不同的输出。我已经编写了逻辑,您可以轻松地将其放入JUnit测试中
List<String> names= new ArrayList<>();
names.add("John");
names.add("Mark");
String firstEntry = names.get(0);
boolean allMatch = names.stream().allMatch(name -> firstEntry.equals(name));
System.out.println("All names are the same: "+allMatch);