Project

General

Profile

1
package eu.dnetlib.openaire.exporter;
2

    
3
import java.io.IOException;
4
import java.io.StringWriter;
5

    
6
import eu.dnetlib.miscutils.functional.xml.ApplyXslt;
7
import org.apache.commons.io.IOUtils;
8
import org.junit.Before;
9
import org.junit.Test;
10
import org.springframework.core.io.ClassPathResource;
11
import org.springframework.core.io.Resource;
12

    
13
public class EPrintsTest {
14

    
15
	private Resource wtProject = new ClassPathResource("eu/dnetlib/openaire/exporter/WT-project.xml");
16
	private Resource fctProject = new ClassPathResource("eu/dnetlib/openaire/exporter/FCT-project.xml");
17
	private Resource fp7Project = new ClassPathResource("eu/dnetlib/openaire/exporter/FP7-project.xml");
18
	private Resource sfiProject = new ClassPathResource("eu/dnetlib/openaire/exporter/SFI-project.xml");
19
	private Resource msesProject = new ClassPathResource("eu/dnetlib/openaire/exporter/MSES-project.xml");
20

    
21
	private Resource ePrintsXslt;
22

    
23
	@Before
24
	public void setUp() throws Exception {
25
		ePrintsXslt = new ClassPathResource("xslt/projects_eprints.xslt", getClass());
26
	}
27

    
28
	@Test
29
	public void testWTePrints() throws IOException {
30
		doTest(wtProject);
31
	}
32

    
33
	@Test
34
	public void testFCTePrints() throws IOException {
35
		doTest(fctProject);
36
	}
37

    
38
	@Test
39
	public void testFP7ePrints() throws IOException {
40
		doTest(fp7Project);
41
	}
42

    
43
	@Test
44
	public void testSFIePrints() throws IOException {
45
		doTest(sfiProject);
46
	}
47

    
48
	@Test
49
	public void testMSESePrints() throws IOException {
50
		doTest(msesProject);
51
	}
52

    
53
	private void assertTab(final String str) {
54
		System.out.println(str);
55
		String[] splitOnTab = str.split("\t");
56
		org.junit.Assert.assertTrue(splitOnTab.length > 1);
57
		System.out.println(splitOnTab[0]);
58
		System.out.println("According to the Java split function, now there is a tab, followed by:");
59
		System.out.println(splitOnTab[1]);
60
	}
61

    
62
	private void doTest(Resource resource) throws IOException {
63
		ApplyXslt applyXslt = new ApplyXslt(ePrintsXslt);
64
		StringWriter w = new StringWriter();
65
		IOUtils.copy(resource.getInputStream(), w);
66
		String res = applyXslt.evaluate(w.toString());
67
		assertTab(res);
68
	}
69
}
(2-2/4)