public async Task ElevationService_SinglePointNedTest() { var client = new HttpClient(); var testData = GrandCanyonPointsWithNed10Elevations(); foreach (var loopTests in testData) { var result = await ElevationService.OpenTopoNedElevation(client, loopTests.Latitude, loopTests.Longitude, DebugTrackers.DebugProgressTracker()); Assert.NotNull(result, $"Null result from {loopTests.Name}"); Assert.AreEqual(loopTests.RoundedElevationInMeters, Math.Round(result.Value, 2), $"{loopTests.Name}"); } }
public async Task B11_YumaPointElevationServiceTest() { var httpClient = new HttpClient(); var elevation = await ElevationService.OpenTopoNedElevation(httpClient, GrandCanyonPointInfo.YumaPointContent02.Latitude, GrandCanyonPointInfo.YumaPointContent02.Longitude, DebugTrackers.DebugProgressTracker()); Assert.NotNull(elevation, "Elevation returned null"); var concreteElevation = Math.Round(elevation.Value.MetersToFeet(), 0); Assert.AreEqual(GrandCanyonPointInfo.YumaPointContent02.Elevation, concreteElevation, "Service Elevation does not match"); }
public async Task ElevationService_MultiPointNedTest() { var client = new HttpClient(); var testData = GrandCanyonPointsWithNed10Elevations() .Select(x => new CoordinateZ(x.Longitude, x.Latitude, 0)).ToList(); await ElevationService.OpenTopoNedElevation(client, testData, DebugTrackers.DebugProgressTracker()); Assert.IsTrue(testData.All(x => x.Z > 0), "Not all point have an elevation greater than zero."); var referenceData = GrandCanyonPointsWithNed10Elevations(); foreach (var loopTestData in testData) { var referenceItem = referenceData.Single(x => x.Latitude == loopTestData.Y && x.Longitude == loopTestData.X); Assert.AreEqual(Math.Round(referenceItem.RoundedElevationInMeters, 2), Math.Round(loopTestData.Z, 2), $"{referenceItem.Name} didn't match expected"); } }