1
|
package eu.dnetlib.msro.openaireplus.workflows.nodes.contexts;
|
2
|
|
3
|
import java.io.IOException;
|
4
|
import java.util.Arrays;
|
5
|
import java.util.Iterator;
|
6
|
|
7
|
import com.google.common.base.Function;
|
8
|
import com.google.common.collect.Lists;
|
9
|
import org.apache.commons.io.IOUtils;
|
10
|
import org.junit.Assert;
|
11
|
import org.junit.Before;
|
12
|
import org.junit.Test;
|
13
|
import org.springframework.core.io.Resource;
|
14
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
15
|
|
16
|
public class FETTest {
|
17
|
|
18
|
private static final String PATTERN = "classpath*:/eu/dnetlib/msro/openaireplus/workflows/nodes/contexts/fetprojects/*.xml";
|
19
|
//class under test
|
20
|
private BuildH2020FETTaxonomy fetBuilder;
|
21
|
private Iterator<String> iterator;
|
22
|
|
23
|
//String outputCheck = "<category id=\"fet-h2020::open\" label=\"FET OPEN\" claim=\"false\"><concept id=\"fet-h2020::open::1\" label=\"FET-Open research projects\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2014-2015-RIA</param><concept id=\"fet-h2020::open::1::713140\" label=\"Custom architecturally defined 3D stem cell derived functional human neural networks for transformative progress in neuroscience and medicine\" claim=\"true\"><param name=\"CD_PROJ_ID\">713140</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">713140</param><param name=\"CD_ACRONYM\">MESO_BRAIN</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::1::665148\" label=\"Quantum Controlled Ultrafast Multimode Entanglement and Measurement\" claim=\"true\"><param name=\"CD_PROJ_ID\">665148</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">665148</param><param name=\"CD_ACRONYM\">QCUMbER</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::1::665233\" label=\"Super-resolution visualisation and manipulation of metaphase chromosomes\" claim=\"true\"><param name=\"CD_PROJ_ID\">665233</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">665233</param><param name=\"CD_ACRONYM\">CHROMAVISION</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::2\" label=\"FET Exchange Coordination and Support Activities 2015\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2015-CSA</param><concept id=\"fet-h2020::open::2::713171\" label=\"SENSE - a roadmap for the ideal low light level sensor development\" claim=\"true\"><param name=\"CD_PROJ_ID\">713171</param><param name=\"CD_CALL_ID\">FETOPEN-CSA-FETEXCHANGE-2015</param><param name=\"CD_PROJECT_NUMBER\">713171</param><param name=\"CD_ACRONYM\">SENSE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::3\" label=\"FET Innovation Launchpad\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-4-2016-2017</param><concept id=\"fet-h2020::open::3::754514\" label=\"Resource AuctiOning Engine for the Mobile Digital MArket\" claim=\"true\"><param name=\"CD_PROJ_ID\">754514</param><param name=\"CD_CALL_ID\">FETOPEN-04-2016-2017</param><param name=\"CD_PROJECT_NUMBER\">754514</param><param name=\"CD_ACRONYM\">ROMA</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::3::754515\" label=\"Hello\" claim=\"true\"><param name=\"CD_PROJ_ID\">754515</param><param name=\"CD_CALL_ID\">FETOPEN-04-2016-2017</param><param name=\"CD_PROJECT_NUMBER\">754515</param><param name=\"CD_ACRONYM\">HHH</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::4\" label=\"Coordination and Support Activities\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2014-CSA</param><concept id=\"fet-h2020::open::4::665564\" label=\"Coordinating European Research on Molecular Communications\" claim=\"true\"><param name=\"CD_PROJ_ID\">665564</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665564</param><param name=\"CD_ACRONYM\">CIRCLE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665134\" label=\"Ensuring the success of the next FET Conference and exhibition at a key period for FET\" claim=\"true\"><param name=\"CD_PROJ_ID\">665134</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665134</param><param name=\"CD_ACRONYM\">FET-Event</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665083\" label=\"Tracing impacts of the FET programme\" claim=\"true\"><param name=\"CD_PROJ_ID\">665083</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665083</param><param name=\"CD_ACRONYM\">FET_TRACES</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665136\" label=\"Observing Emergence\" claim=\"true\"><param name=\"CD_PROJ_ID\">665136</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665136</param><param name=\"CD_ACRONYM\">OBSERVE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept></category>";
|
24
|
|
25
|
@Before
|
26
|
public void setup() throws Exception {
|
27
|
final PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
28
|
iterator = Lists.transform(Arrays.asList(resolver.getResources(PATTERN)), new Function<Resource, String>() {
|
29
|
@Override
|
30
|
public String apply(final Resource resource) {
|
31
|
try {
|
32
|
return IOUtils.toString(resource.getInputStream());
|
33
|
} catch (IOException e) {
|
34
|
return null;
|
35
|
}
|
36
|
}
|
37
|
}).iterator();
|
38
|
fetBuilder = new BuildH2020FETTaxonomy();
|
39
|
}
|
40
|
|
41
|
@Test
|
42
|
public void parseFirstNFET() throws Exception {
|
43
|
fetBuilder.setIterator(iterator);
|
44
|
fetBuilder.parseFETProject(10);
|
45
|
String fetContext = fetBuilder.getTaxonomy();
|
46
|
Assert.assertNotNull(fetContext);
|
47
|
Assert.assertNotSame("", fetContext);
|
48
|
System.out.println(fetContext);
|
49
|
//Assert.assertTrue(fetContext.contains(outputCheck));
|
50
|
}
|
51
|
|
52
|
}
|