Project

General

Profile

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
}
(2-2/2)