public void TestCourseTo() { // set up var centerPoint = new MapPoint(48.2, 11.5); var northPoint = new MapPoint(48.2 + 0.1, 11.5); var eastPoint = new MapPoint(48.2, 11.5 + 0.1); var southPoint = new MapPoint(48.2 - 0.1, 11.5); var westPoint = new MapPoint(48.2, 11.5 - 0.1); var anglePoint = new MapPoint(48.2 - 0.05, 11.5 + 0.11); var northPole = new MapPoint(90.0, 0.0); var southPole = new MapPoint(-90.0, 0.0); // run double angleToSelf = centerPoint.CourseTo(centerPoint); double angleToNorth = centerPoint.CourseTo(northPoint); double angleToEast = centerPoint.CourseTo(eastPoint); double angleToSouth = centerPoint.CourseTo(southPoint); double angleToWest = centerPoint.CourseTo(westPoint); double angleToOther = centerPoint.CourseTo(anglePoint); double angleFromNorthPole = northPole.CourseTo(centerPoint); double angleFromSouthPole = southPole.CourseTo(centerPoint); // check Assert.AreEqual(0.0, angleToSelf, 0.1, "angle to self must be 0.0 degrees"); Assert.AreEqual(0.0, angleToNorth, 0.1, "angle to north must be 0.0 degrees"); Assert.AreEqual(90.0, angleToEast, 0.1, "angle to east must be 90.0 degrees"); Assert.AreEqual(180.0, angleToSouth, 0.1, "angle to self must be 180.0 degrees"); Assert.AreEqual(270.0, angleToWest, 0.1, "angle to west must be 270.0 degrees"); Assert.AreEqual(124.2, angleToOther, 0.1, "angle to other must be 124.2 degrees"); Assert.AreEqual(180.0, angleFromNorthPole, 0.1, "angle from north pole must be 180.0 degrees"); Assert.AreEqual(0.0, angleFromSouthPole, 0.1, "angle from south pole must be 0.0 degrees"); }