2017-03-01 106 views
0

這是我的失敗的Point.cs文件。旋轉點測試失敗。爲什麼?

// Rotates the point counter-clockwise by deg degrees. For example, applying 
// a 90 degree rotation to (1, 0) should give (0, 1). 
public void rotate(double deg) 
{ 
    double rotCos = Math.Cos(deg * Math.PI/180); 
    double rotSin = Math.Sin(deg * Math.PI/180); 
    double oldX = x; 
    double oldY = y; 
    x = oldX * rotCos - oldY * rotSin; 
    y = oldX * rotSin + oldY * rotCos; 
    Point point = new Point(x, y); 
} 

我運行這個測試並得到結果:

「消息:Assert.AreEqual失敗預期:< 2>:< 2>實際。」

[TestMethod] 
public void Rotate_Test() 
{ 
    double rotate = -90; 
    double i = 4; 
    double o = 2; 
    Point point = new Point(i, o); 
    double expectedX = 2; 
    double expectedY = 4; 

    point.rotate(rotate); 

    Assert.AreEqual(expectedX, point.getX()); 
    Assert.AreEqual(expectedY, point.getY()); 
} 
+0

你什麼你'點做點=新點(X,Y);'?它會立即被刪除,因爲你沒有將它分配給任何東西...... – FCin

+0

我認爲它是最終產品。我真正需要的是x,y點。 – JayT

+0

@JayT,提供一個可用於重現問題的[mcve]。 – Nkosi

回答