[InlineData(nameof(DEMDataSet.SRTM_GL3), 3.5, 4.5, 42.5, 42.6, false)] // half inside 1 tile, half with no tile public void TestBboxCoverage(string dataSetName, double xmin, double xmax, double ymin, double ymax, bool isExpectedCovered) { BoundingBox bbox = new BoundingBox(xmin, xmax, ymin, ymax); Assert.True(bbox.IsValid(), "Bbox is not valid"); DEMDataSet dataSet = DEMDataSet.RegisteredDatasets.FirstOrDefault(d => d.Name == dataSetName); Assert.NotNull(dataSet); _elevationService.DownloadMissingFiles(dataSet, bbox); List <FileMetadata> bboxMetadata = _elevationService.GetCoveringFiles(bbox, dataSet); bool covered = _elevationService.IsBoundingBoxCovered(bbox, bboxMetadata.Select(m => m.BoundingBox)); Assert.Equal(isExpectedCovered, covered); }