package ch.deif.meander; public class DEMAlgorithmTest { // // private static final double VOLUME_UNDER_HILL = 16000.0; // precision is 1e2 // // @Test // public void testSingleHill() { // Map map = Map.builder() // .location(0.5, 0.5, 1000) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(100.0, maxElevation, 1.0); // assertEquals(VOLUME_UNDER_HILL, volume, 1e3); // } // // @Test // public void testTwoEqualHills() { // Map map = Map.builder() // .location(0.5, 0.6, 1000) // .location(0.5, 0.4, 1000) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(100.0, maxElevation, 1.0); // assertEquals(2 * VOLUME_UNDER_HILL, volume, 1e3); // } // // @Test // public void testLargeAndSmallHills() { // Map map = Map.builder() // .location(0.5, 0.6, 1000) // .location(0.5, 0.4, 500) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(100.0, maxElevation, 1.0); // assertEquals(1.125 * VOLUME_UNDER_HILL, volume, 1e3); // } // // @Test // public void testClippedHill() { // Map map = Map.builder() // .location(0.5, 0.0, 1000) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(100.0, maxElevation, 1.0); // assertEquals(0.5 * VOLUME_UNDER_HILL, volume, 1e3); // } // // @Test // public void testClippedHill2() { // Map map = Map.builder() // .location(0.0, 0.0, 1000) // .location(1.0, 0.0, 1000) // .location(1.0, 1.0, 1000) // .location(0.0, 1.0, 1000) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(100.0, maxElevation, 1.0); // assertEquals(1.0 * VOLUME_UNDER_HILL, volume, 1e3); // } // // @Test // public void testBeyondBoundsHill() { // Map map = Map.builder() // .location(2.0, 2.0, 1000) // .location(-1.0, 2.0, 1000) // .location(-1.0, -1.0, 1000) // .location(2.0, -1.0, 1000) // .normalizeElevation() // .pixelSize(100) // .done(); // new DEMAlgorithm(map).run(); // double minElevation = minElevation(map); // double maxElevation = maxElevation(map); // double volume = elevationVolume(map); // assertEquals(0.0, minElevation, 1e-14); // assertEquals(0.0, maxElevation, 1.0); // assertEquals(0.0 * VOLUME_UNDER_HILL, volume, 1e3); // } // // // private double maxElevation(Map map) { // double maxElevation = Double.MIN_VALUE; // for (Pixel each: map.pixels()) maxElevation = Math.max(maxElevation, each.elevation()); // return maxElevation; // } // // private double minElevation(Map map) { // double minElevation = Double.MAX_VALUE; // for (Pixel each: map.pixels()) minElevation = Math.min(minElevation, each.elevation()); // return minElevation; // } // // private double elevationVolume(Map map) { // double volume = 0; // for (Pixel each: map.pixels()) volume += each.elevation(); // return volume; // } // }