如何解决junit 测试返回类型为 int 且参数为 arraylist 的方法
以下方法检查具有给定值/总和的所有三元组。我想为此方法编写一个@Test 方法,该方法返回一个整数并接受一个数组列表和一个变量作为参数。有没有办法可以为以下代码编写junit5测试-
int triplets(ArrayList<Integer> a,int sum)
{
int l,r;
int count = 0;
for (int i = 0; i < a.size() - 2; i++) {
l = i + 1;
r = a.size() - 1;
while (l < r) {
if ( a.get(i) + a.get(l) + a.get(r) == sum) {
count++;
System.out.print("Triplet " + count +" is " + a.get(i) + "," + a.get(l) + "," + a.get(r) + "\n");
L++;
r--;
}
else if (a.get(i) + a.get(l) + a.get(r) < sum)
L++;
else // arr.get(i) + arr.get(l) + arr.get(r) > sum
r--;
}
}
if(count!=0)
{
System.out.print("Total triplets present: " + count);
return 1;
}
else
return -1;
}
解决方法
在 JUnit5 中,您可以为此使用带有 MethodSource 的 ParameterizedTest。
[(7,7,57,192),(7,52,192)]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。