package eu.dnetlib.data.transform;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import org.apache.commons.lang.StringUtils;
import org.junit.Test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;

public class DatePickerTest {

    @Test
    public void test_mergeDateGroups() throws IOException {

        try(GZIPInputStream gzip = new GZIPInputStream(getClass().getResourceAsStream("date_groups.gz"))) {
            BufferedReader br = new BufferedReader(new InputStreamReader(gzip));
            String line = null;
            while ((line = br.readLine()) != null) {

                final List<Object> list = new Gson().fromJson(line, List.class);

                final List<String> dateofacceptance = list.stream()
                        .filter(Objects::nonNull)
                        .map(o -> new String(o.toString()))
                        .collect(Collectors.toList());


                final String date = DatePicker.pick(dateofacceptance).getValue();
                if (dateofacceptance.size() > 2) {

                    System.out.println(String.format("%s - %s", date, dateofacceptance));
                }
            }
        }


    }
}
