public void CoordinatesToKilometers(double lat1, double lon1, double lat2, double lon2, double distance) { Assert.Equal(distance, UnitConverters.CoordinatesToKilometers(lat1, lon1, lat2, lon2), 4); var location1 = new Location(lat1, lon1); var location2 = new Location(lat2, lon2); Assert.Equal(distance, Location.CalculateDistance(location1, location2, DistanceUnits.Kilometers), 4); Assert.Equal(distance, Location.CalculateDistance(location2, location1, DistanceUnits.Kilometers), 4); Assert.Equal(distance, location1.CalculateDistance(location2, DistanceUnits.Kilometers), 4); Assert.Equal(distance, location2.CalculateDistance(location1, DistanceUnits.Kilometers), 4); Assert.Equal(distance, LocationExtensions.CalculateDistance(location1, location2, DistanceUnits.Kilometers), 4); Assert.Equal(distance, LocationExtensions.CalculateDistance(location2, location1, DistanceUnits.Kilometers), 4); }
/// <include file="../../docs/Microsoft.Maui.Essentials/Location.xml" path="//Member[@MemberName='CalculateDistance'][4]/Docs" /> public static double CalculateDistance( double latitudeStart, double longitudeStart, double latitudeEnd, double longitudeEnd, DistanceUnits units) { switch (units) { case DistanceUnits.Kilometers: return(UnitConverters.CoordinatesToKilometers(latitudeStart, longitudeStart, latitudeEnd, longitudeEnd)); case DistanceUnits.Miles: return(UnitConverters.CoordinatesToMiles(latitudeStart, longitudeStart, latitudeEnd, longitudeEnd)); default: throw new ArgumentOutOfRangeException(nameof(units)); } }
[InlineData(43.623409, -79.368683, 42.35866, -71.05674, 690.2032)] // toronto -> boston, ma public void CoordinatesToKilometers(double lat1, double lon1, double lat2, double lon2, double distance) { Assert.Equal(distance, UnitConverters.CoordinatesToKilometers(lat1, lon1, lat2, lon2), 4); }