assertEquals在两个向量上失败

时间:2014-01-26 14:11:51

标签: java

我想为Ship类编写加速方法,所以我写了

public void accelerate(double fo){
    double newSpeedMag = speed.magnitude() + fo;
    speed = new Vector(Math.cos(facing) * newSpeedMag , Math.sin(facing) * newSpeedMag  );
}

facing面临角度且当前facing == Math.PI

testAccelerate()测试用例中:

testAccelerate(){
    s.facing = Math.PI/2;
    s.accelerate(4);
    assertEquals("wrong vector",new Vector(-3,4),s.speed);
}

assertEquals失败了。

1 个答案:

答案 0 :(得分:0)

听起来你很可能没有为你的班级重写等于。如果没有这个,assertEquals就无法知道类是否相等(好吧它会尝试,但只有当指向同一个内存地址时才返回true)。

请参阅此链接以覆盖班级上的等号 - http://users.csc.calpoly.edu/~kmammen/documents/java/howToOverrideEquals.html