@Test
public void testDayWithMaxTemperatureInOporto(){

    WeatherService service = new WeatherService(new WeatherRestfullApi());
    Stream<Location> locals = service.search("oporto");
    WeatherInfo[] oportoWeather = locals
        .skip(1)
        .findFirst()
        .get()
        .getPast30daysWeather()
        .toArray(size -> new WeatherInfo[size]);
    // <=> WeatherInfo maxTemp = max(oportoWeather, (w1, w2) -> w1.getTempC() - w2.getTempC());
    WeatherInfo maxTemp = of(oportoWeather).max(comparing(WeatherInfo::getTempC)).get();
    WeatherInfo maxDesc = of(oportoWeather).max(comparing(WeatherInfo::getDesc)).get();
    assertEquals(18, maxDesc.getTempC());
    WeatherInfo maxDescAndTemp = of(oportoWeather).max(
        comparing(WeatherInfo::getDesc).thenComparing(WeatherInfo::getTempC)).get();
    assertEquals(18, maxDescAndTemp.getTempC());
    Comparator<WeatherInfo> cmp = comparing(WeatherInfo::getDesc)
        .thenComparing(WeatherInfo::getTempC)
        .thenComparing(WeatherInfo::getPrecipMM)
        .thenComparing(WeatherInfo::getDate);
}