
import eu.dnetlib.data.mapreduce.hbase.lodExport.LodReducer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mrunit.mapreduce.ReduceDriver;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.util.ArrayList;

public class LodReducerTest {
    ReduceDriver<Text, Text, Text, Text> reduceDriver;

    @Before
    public void setUp() {
        Configuration configuration = new Configuration();
        configuration.set("lod.delim", ",");
        configuration.set("mapreduce.multipleoutputs.namedOutput.result.key", "org.apache.hadoop.io.Text");
        configuration.set("mapreduce.multipleoutputs.namedOutput.result.value", "org.apache.hadoop.io.Text");
        configuration.set("mapreduce.multipleoutputs.namedOutput.result.format", "org.apache.hadoop.mapreduce.lib.output.TextOutputFormat");
        configuration.set("mapreduce.multipleoutputs", "result");


        LodReducer reducer = new LodReducer();
        //String sourceMappings = "{\"type\":\"result\", \"fields\":[\"<http://purl.org/dc/terms/identifier>\",\"<http://www.eurocris.org/ontologies/cerif/1.3#name>\",\"<http://lod.openaire.eu/vocab/year>\"]}";
        reduceDriver = ReduceDriver.newReduceDriver(reducer).withConfiguration(configuration);

    }


    @Test
    public void testReducer() throws IOException {
        ArrayList list = new ArrayList();
        String value = "doajarticles::9aacfbb6168b5346aa63a49c79a7a88d,2017-01-14T12:40:47.751Z,2016-10-12T12:23:03.305Z,oai:doaj.org/article:85b1bd2dbf344a6cab93f36c7bdfff69;,Zika virus in Brazil and the danger of infestation by Aedes  tegomyia) mosquitoes,2015-01-01, ociedade Brasileira de Medicina Tropical  BMT), 10.1590/0037-8682-0220-2015;,eng, , Aedes aegypti;Aedes albopictus;Arbovirus; tegomyia;Culicidae;Medicine (General);R5-920;Medicine;R;Arctic medicine. Tropical medicine;RC955-962;, , Revista da  ociedade Brasileira de Medicina Tropical, Iss 0 (2015);, , , ,Open Access, Abstract Zika virus, already widely distributed in Africa and Asia, was recently reported in two Northeastern Brazilian:  tate of Bahia and  tate of Rio Grande do Norte, and one  outheastern:  tate of  ão Paulo. This finding adds a potentially noxious virus to a list of several other viruses that are widely transmitted by Aedes  tegomyia) aegypti and Aedes  tegomyia) albopictus in Brazil. The pathology and epidemiology, including the distribution and vectors associated with Zika virus, are reviewed. This review is focused on viruses transmitted by Aedes  tegomyia) mosquitoes, including dengue, Chikungunya, Zika, Mayaro, and yellow fever virus, to emphasize the risks of occurrence for these arboviruses in Brazil and neighboring countries. Other species of Aedes  tegomyia) are discussed, emphasizing their involvement in arbovirus transmission and the possibility of adaptation to environments modified by human activities and introduction in Brazil.,Revista da  ociedade Brasileira de Medicina Tropical,,,,,,,2015,publication, ,";
        list.add(new Text(value));

        reduceDriver.withInput(new Text("result"), list);
        reduceDriver.withOutput(new Text("result"), new Text(value));
        reduceDriver.run();
    }


}


