public void MoveInDirection_MoveDownThenRight_DistanceToStartingPointIsRootOfTwo() { var coordinate = new CartesianCoordinate(1, 1); var newCoordinate = coordinate.MoveInDirection(DirectionEnum.Down); newCoordinate = newCoordinate.MoveInDirection(DirectionEnum.Right); var expectedCoordinate = new CartesianCoordinate(2, 2); Assert.AreEqual(newCoordinate, expectedCoordinate); var distance = coordinate.Distance(newCoordinate); Assert.AreEqual(distance, Math.Sqrt(2), 0.00000001); }
public void Distance_ProvideTwoCoordinates_DistanceMeasuredMatchesExpectations() { var coordinateA = new CartesianCoordinate(0, 0); var coordinateB = new CartesianCoordinate(1, 0); Assert.AreEqual(coordinateA.Distance(coordinateB), 1.0, 0.00000001); var coordinateC = new CartesianCoordinate(1, 2); var coordinateD = new CartesianCoordinate(1, 1); Assert.AreEqual(coordinateC.Distance(coordinateD), 1.0, 0.00000001); var coordinateE = new CartesianCoordinate(1, 1); var coordinateF = new CartesianCoordinate(3, 3); Assert.AreEqual(coordinateE.Distance(coordinateF), 2.0 * Math.Sqrt(2), 0.00000001); }