@Test
public void testEstimatedMinimumTravelTime() {

    LOG.info("testEstimatedMinimumTravelTime");
    // Using these figures (do NOT use the table from Geo directly):
    //    0, 10,      //  0 ..  1 km  --> 10 km/h
    //    1, 20,      //  1 ..  2 km  --> 20 km/h
    //    2, 30,      //  2 ..  3 km  --> 30 km/h
    //    3, 35,      //  3 ..  4 km  --> 35 km/h
    //    4, 40,      //  4 ..  6 km  --> 40 km/h
    //    6, 45,      //  6 .. 10 km  --> 45 km/h
    //    10, 50,     // 10 .. 15 km  --> 50 km/h
    //    15, 60,     // 15 .. 25 km  --> 60 km/h
    //    25, 65,     // 25 .. 50 km  --> 65 km/h
    //    50, 70,     // 50 .. 100 km --> 70 km/h
    //    100, 90,    // >100 km      --> 90 km/h
    final GeoPoint from = new GeoPoint(0.0, 0.0);
    final GeoPoint to0m = from;
    final GeoPoint to500m = from.translate(0, 500);
    final GeoPoint to1000m = from.translate(0, 1000);
    final GeoPoint to1200m = from.translate(0, 1200);
    final GeoPoint to1500m = from.translate(0, 1500);
    final GeoPoint to2000m = from.translate(0, 2000);
    final GeoPoint to2500m = from.translate(0, 2500);
    final GeoPoint to99km = from.translate(0, 99000);
    final GeoPoint to100km = from.translate(0, 100000);
    final Duration sec0m = Duration.standardSeconds(0);
    final Duration sec500m = Duration.standardSeconds(120);
    final Duration sec1000m = Duration.standardSeconds(240);
    final Duration sec1200m = Duration.standardSeconds(240 + 36);
    final Duration sec1500m = Duration.standardSeconds(240 + 90);
    final Duration sec2000m = Duration.standardSeconds(240 + 180);
    final Duration sec2500m = Duration.standardSeconds(240 + 180 + 60);
    final Duration sec99km = Duration.standardSeconds(6007);
    final Duration sec100km = Duration.standardSeconds(6059);
    Assert.assertEquals(sec0m.getStandardSeconds(), Geo.estimatedMinTravelTime(from, to0m, 1).getStandardSeconds());
    Assert.assertEquals(sec500m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to500m, 1).getStandardSeconds());
    Assert.assertEquals(sec1000m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to1000m, 1).getStandardSeconds());
    Assert.assertEquals(sec1200m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to1200m, 1).getStandardSeconds());
    Assert.assertEquals(sec1500m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to1500m, 1).getStandardSeconds());
    Assert.assertEquals(sec2000m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to2000m, 1).getStandardSeconds());
    Assert.assertEquals(sec2500m.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to2500m, 1).getStandardSeconds());
    Assert.assertEquals(sec99km.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to99km, 1).getStandardSeconds());
    Assert.assertEquals(sec100km.getStandardSeconds(),
            Geo.estimatedMinTravelTime(from, to100km, 1).getStandardSeconds());
}