Update tests to catch 0-subtraction error
This commit is contained in:
parent
93b6438cea
commit
2592cd2e58
@ -24,58 +24,58 @@ BOOST_AUTO_TEST_CASE(raster_test)
|
||||
{
|
||||
SourceContainer sources;
|
||||
int source_id = sources.LoadRasterSource(
|
||||
"../unit_tests/fixtures/raster_data.asc", 0, 0.09, 0, 0.09, 10, 10);
|
||||
"../unit_tests/fixtures/raster_data.asc", 1, 1.09, 1, 1.09, 10, 10);
|
||||
BOOST_CHECK_EQUAL(source_id, 0);
|
||||
|
||||
// Expected nearest-neighbor queries
|
||||
// EDGES
|
||||
CHECK_QUERY(0, 0.00, 0.00, 10);
|
||||
CHECK_QUERY(0, 0.00, 0.09, 10);
|
||||
CHECK_QUERY(0, 0.09, 0.00, 40);
|
||||
CHECK_QUERY(0, 0.09, 0.09, 100);
|
||||
CHECK_QUERY(0, 0.09, 0.07, 140);
|
||||
CHECK_QUERY(0, 1.00, 1.00, 10);
|
||||
CHECK_QUERY(0, 1.00, 1.09, 10);
|
||||
CHECK_QUERY(0, 1.09, 1.00, 40);
|
||||
CHECK_QUERY(0, 1.09, 1.09, 100);
|
||||
CHECK_QUERY(0, 1.09, 1.07, 140);
|
||||
// OUT OF BOUNDS
|
||||
CHECK_QUERY(0, -0.1, 0.07, RasterDatum::get_invalid());
|
||||
CHECK_QUERY(0, -0.1, -3.0, RasterDatum::get_invalid());
|
||||
CHECK_QUERY(0, 0.3, 23.0, RasterDatum::get_invalid());
|
||||
CHECK_QUERY(0, -1.1, 1.07, RasterDatum::get_invalid());
|
||||
CHECK_QUERY(0, -1.1, -3.0, RasterDatum::get_invalid());
|
||||
CHECK_QUERY(0, 1.3, 23.0, RasterDatum::get_invalid());
|
||||
// ARBITRARY - AT DATA
|
||||
CHECK_QUERY(0, 0.06, 0.06, 100);
|
||||
CHECK_QUERY(0, 0.08, 0.05, 160);
|
||||
CHECK_QUERY(0, 0.01, 0.05, 20);
|
||||
CHECK_QUERY(0, 1.06, 1.06, 100);
|
||||
CHECK_QUERY(0, 1.08, 1.05, 160);
|
||||
CHECK_QUERY(0, 1.01, 1.05, 20);
|
||||
// ARBITRARY - BETWEEN DATA
|
||||
CHECK_QUERY(0, 0.054, 0.023, 40);
|
||||
CHECK_QUERY(0, 0.056, 0.028, 80);
|
||||
CHECK_QUERY(0, 0.05, 0.028, 60);
|
||||
CHECK_QUERY(0, 1.054, 1.023, 40);
|
||||
CHECK_QUERY(0, 1.056, 1.028, 80);
|
||||
CHECK_QUERY(0, 1.05, 1.028, 60);
|
||||
|
||||
// Expected bilinear interpolation queries
|
||||
// EDGES - same as above
|
||||
CHECK_INTERPOLATE(0, 0.00, 0.00, 10);
|
||||
CHECK_INTERPOLATE(0, 0.00, 0.09, 10);
|
||||
CHECK_INTERPOLATE(0, 0.09, 0.00, 40);
|
||||
CHECK_INTERPOLATE(0, 0.09, 0.09, 100);
|
||||
CHECK_INTERPOLATE(0, 0.09, 0.07, 140);
|
||||
CHECK_INTERPOLATE(0, 1.00, 1.00, 10);
|
||||
CHECK_INTERPOLATE(0, 1.00, 1.09, 10);
|
||||
CHECK_INTERPOLATE(0, 1.09, 1.00, 40);
|
||||
CHECK_INTERPOLATE(0, 1.09, 1.09, 100);
|
||||
CHECK_INTERPOLATE(0, 1.09, 1.07, 140);
|
||||
// OUT OF BOUNDS - same as above
|
||||
CHECK_INTERPOLATE(0, -0.1, 0.07, RasterDatum::get_invalid());
|
||||
CHECK_INTERPOLATE(0, -0.1, -3.0, RasterDatum::get_invalid());
|
||||
CHECK_INTERPOLATE(0, 0.3, 23.0, RasterDatum::get_invalid());
|
||||
CHECK_INTERPOLATE(0, -1.1, 1.07, RasterDatum::get_invalid());
|
||||
CHECK_INTERPOLATE(0, -1.1, -3.0, RasterDatum::get_invalid());
|
||||
CHECK_INTERPOLATE(0, 1.3, 23.0, RasterDatum::get_invalid());
|
||||
// ARBITRARY - AT DATA - same as above
|
||||
CHECK_INTERPOLATE(0, 0.06, 0.06, 100);
|
||||
CHECK_INTERPOLATE(0, 0.08, 0.05, 160);
|
||||
CHECK_INTERPOLATE(0, 0.01, 0.05, 20);
|
||||
CHECK_INTERPOLATE(0, 1.06, 1.06, 100);
|
||||
CHECK_INTERPOLATE(0, 1.08, 1.05, 160);
|
||||
CHECK_INTERPOLATE(0, 1.01, 1.05, 20);
|
||||
// ARBITRARY - BETWEEN DATA
|
||||
CHECK_INTERPOLATE(0, 0.054, 0.023, 54);
|
||||
CHECK_INTERPOLATE(0, 0.056, 0.028, 68);
|
||||
CHECK_INTERPOLATE(0, 0.05, 0.028, 56);
|
||||
CHECK_INTERPOLATE(0, 1.054, 1.023, 53);
|
||||
CHECK_INTERPOLATE(0, 1.056, 1.028, 68);
|
||||
CHECK_INTERPOLATE(0, 1.05, 1.028, 56);
|
||||
|
||||
int source_already_loaded_id = sources.LoadRasterSource(
|
||||
"../unit_tests/fixtures/raster_data.asc", 0, 0.09, 0, 0.09, 10, 10);
|
||||
"../unit_tests/fixtures/raster_data.asc", 1, 1.09, 1, 1.09, 10, 10);
|
||||
|
||||
BOOST_CHECK_EQUAL(source_already_loaded_id, 0);
|
||||
BOOST_CHECK_THROW(sources.GetRasterDataFromSource(1, normalize(0.02), normalize(0.02)),
|
||||
BOOST_CHECK_THROW(sources.GetRasterDataFromSource(1, normalize(1.02), normalize(1.02)),
|
||||
util::exception);
|
||||
|
||||
BOOST_CHECK_THROW(
|
||||
sources.LoadRasterSource("../unit_tests/fixtures/nonexistent.asc", 0, 0.1, 0, 0.1, 7, 7),
|
||||
sources.LoadRasterSource("../unit_tests/fixtures/nonexistent.asc", 0, 1.1, 0, 1.1, 7, 7),
|
||||
util::exception);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user