-2
我創建其爲以下功能矢量對象的大小:2D矢量檢查
Vector.prototype.limitTo = function (pScalar) {
this.normalise();
this.multiply(pScalar);
if (this.magnitude() > pScalar) {
this.magnitude = 30;
}
return new Vector(this.getX(), this.getY(), this.getZ());
};
在此,我試圖使它遵守該規範:
「您的矢量對象應有一個'limitTo'函數,它以單個標量數作爲參數,函數應該返回一個新構造的Vector對象,它具有與'this'向量相同的方向,但是如果它的幅度超過了給定的參數值,那麼它將被減少大小等於最大值,矢量的方向應該不受影響,只有大小可以改變矢量的大小不超過最大值,那麼它不應該被改變。「
和茉莉測試:
describe("Limit To", function() {
var limitedVector, magnitude;
it("Magnitude not exceeding limit", function() {
limitedVector = vector.limitTo(60);
magnitude = limitedVector.magnitude();
expect(magnitude).toEqual(50);
});
it("Magnitude exceeding limit", function() {
limitedVector = vector.limitTo(30);
magnitude = limitedVector.magnitude();
expect(magnitude).toEqual(30);
});
});
我有幅度不超過上限,但我遇到麻煩超過極限測試。
發佈這些測試基本上是無用的,因爲我們無法看到「矢量」是什麼。 – Oriol
「有麻煩」? –