微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

junit 测试返回类型为 int 且参数为 arraylist 的方法

如何解决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 举报,一经查实,本站将立刻删除。