/// <summary> /// See interface docs. /// </summary> /// <param name="aircraftId"></param> /// <param name="altitude"></param> /// <param name="latitude"></param> /// <param name="longitude"></param> public void AddCoordinate(int aircraftId, int altitude, double latitude, double longitude) { if (_SanityChecker != null) { var now = DateTime.UtcNow; if (_SanityChecker.CheckAltitude(aircraftId, now, altitude) == Certainty.ProbablyRight) { if (_SanityChecker.CheckPosition(aircraftId, now, latitude, longitude) == Certainty.ProbablyRight) { AddCheckedCoordinate(aircraftId, altitude, latitude, longitude); } } } }
public void AircraftSanityChecker_CheckPosition_Returns_Correct_Values() { var worksheet = new ExcelWorksheetData(TestContext); //if(!worksheet.NBool("JustThis").GetValueOrDefault()) continue; var comments = worksheet.String("Comments"); for (var i = 1; i <= 5; ++i) { var distance = worksheet.NDouble(String.Format("Distance{0}", i)); if (distance != null) { var seconds = worksheet.Double(String.Format("Seconds{0}", i)); var time = new DateTime(2014, 8, 3).AddSeconds(seconds); var expectedResult = worksheet.ParseEnum <Certainty>(String.Format("Result{0}", i)); double?latitude, longitude; GreatCircleMaths.Destination(51.0, -0.6, 90.0, distance, out latitude, out longitude); var actualResult = _Checker.CheckPosition(1, time, latitude.Value, longitude.Value); Assert.AreEqual(expectedResult, actualResult, String.Format("Column {0} {1}", i, comments)); } } }