gpt4 book ai didi

Java和junit : derivative of polynomial method testing issue

转载 作者:行者123 更新时间:2023-12-04 06:56:06 24 4
gpt4 key购买 nike

我试图完成我的 junit 测试以找到多项式方法的导数,但我在使其工作时遇到了一些麻烦。这是方法:

    public Polynomial derivative() {
MyDouble a = new MyDouble(0);
MyDouble b = this.a.add(this.a);
MyDouble c = this.b;
Polynomial poly = new Polynomial (a, b, c);
return poly;
}

这是junit测试:
    public void testDerivative() {
MyDouble a = new MyDouble(2), b = new MyDouble(4), c = new MyDouble(8);
MyDouble d = new MyDouble(0), e = new MyDouble(4), f = new MyDouble(4);

Polynomial p1 = new Polynomial(a, b, c);
Polynomial p2 = new Polynomial(d,e,f);
assertTrue(p1.derivative().equals(p2));
}

我不太确定为什么它不起作用......我一遍又一遍地检查它,我知道我错过了一些东西。感谢大家提供的任何帮助,谢谢

最佳答案

前两个答案暗示的是,如果 Polynomial 类没有实现 equals(),那么您将在测试中使用 Object.equals()。当您想验证 p1.derivative() 和 p2 具有相同的值时,Object.equals() 正在检查 p1.derivative() 和 p2 是否是同一个对象(它们显然不是)。

通常的解决方案是实现 Polynomial.equals(Polynomial rhs),这将确保每边的三个 MyDouble 都是 equals()。当然,您还必须确保 MyDoubles.equals(MyDouble rhs) 做正确的事情。

关于Java和junit : derivative of polynomial method testing issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com