【发布时间】:2017-03-01 10:23:05
【问题描述】:
这是我的 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 失败。预期:。实际:。”
[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());
}
【问题讨论】:
-
你用你的
Point point = new Point(x, y);做什么?它会立即被删除,因为您没有将其分配给任何东西...... -
我认为它是最终产品。我真正需要的只是 x、y 点。
-
@JayT,提供可用于重现问题的minimal reproducible example。
-
@FCin 我删除了那行代码,我仍然得到相同的结果。
-
@Nkosi 我不知道你在说什么......
标签: c# visual-studio unit-testing