我想为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
失败了。
答案 0 :(得分:0)
听起来你很可能没有为你的班级重写等于。如果没有这个,assertEquals就无法知道类是否相等(好吧它会尝试,但只有当指向同一个内存地址时才返回true)。
请参阅此链接以覆盖班级上的等号 - http://users.csc.calpoly.edu/~kmammen/documents/java/howToOverrideEquals.html。