Project

General

Profile

1
package unitest;
2

    
3
import com.google.gwt.i18n.client.NumberFormat;
4
import eu.dnetlib.goldoa.domain.OrganizationManagerException;
5
import eu.dnetlib.goldoa.domain.stats.Browse;
6
import eu.dnetlib.goldoa.domain.stats.DateSeries;
7
import eu.dnetlib.goldoa.domain.stats.Numbers;
8
import eu.dnetlib.goldoa.domain.stats.Triple;
9
import eu.dnetlib.goldoa.service.OrganizationManager;
10
import eu.dnetlib.goldoa.service.stats.StatsManager;
11
import eu.dnetlib.goldoa.service.stats.StatsManagerImpl;
12
import org.junit.Test;
13
import org.junit.runner.RunWith;
14
import org.springframework.beans.factory.annotation.Autowired;
15
import org.springframework.test.annotation.Rollback;
16
import org.springframework.test.context.ContextConfiguration;
17
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
18

    
19
import javax.transaction.Transactional;
20

    
21
import java.util.List;
22

    
23
import static org.junit.Assert.*;
24

    
25
/**
26
 * Created by panagiotis on 10/2/2017.
27
 */
28
@RunWith( SpringJUnit4ClassRunner.class )
29
@ContextConfiguration(locations = "classpath:applicationContext-goldoa-service-test.xml")
30
public class StatisticsTest {
31

    
32
    @Autowired
33
    StatsManager st;
34
    @Autowired
35
    OrganizationManager om;
36

    
37

    
38
    @Test
39
    @Transactional
40
    @Rollback(true)
41
    public void browseScientificArea(){
42
        List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.SCIENTIFIC_AREA})
43
                .getData(Browse.Category.SCIENTIFIC_AREA);
44

    
45
        for(Triple<String,String,Integer> t:data)
46
            System.out.println(t.getFirst());
47
    }
48

    
49
    @Test
50
    @Transactional
51
    @Rollback(true)
52
    public void browseOrganization(){
53
        List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.ORGANIZATION})
54
                .getData(Browse.Category.ORGANIZATION);
55

    
56
        for(Triple<String,String,Integer> t:data)
57
            System.out.println(t.getFirst());
58
    }
59

    
60
    @Test
61
    @Transactional
62
    @Rollback(true)
63
    public void browsePublisher(){
64
        List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.PUBLISHER})
65
                .getData(Browse.Category.PUBLISHER);
66

    
67
        for(Triple<String,String,Integer> t:data)
68
            System.out.println(t.getFirst());
69
    }
70

    
71
    @Test
72
    @Transactional
73
    @Rollback(true)
74
    public void browseCountry(){
75
        List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.COUNTRY})
76
                .getData(Browse.Category.COUNTRY);
77

    
78
        for(Triple<String,String,Integer> t:data)
79
            System.out.println(t.getSecond());
80
    }
81

    
82
    @Test
83
    @Transactional
84
    @Rollback(true)
85
    public void infoLabel(){
86

    
87
       String s1 = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) + " publications from " +
88
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PROJECTS}).getNumber(Numbers.Category.PROJECTS) + " projects have been approved for funding since 1/1/2015." +
89
                        "A total of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.TOTAL_AMOUNT}).getNumber(Numbers.Category.TOTAL_AMOUNT) + " EUR has been paid for APCs, with an average of " +
90
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_AMOUNT}).getNumber(Numbers.Category.AVERAGE_AMOUNT) + "EUR per publication: " +
91
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_ARTICLE_REQUESTS}).getNumber(Numbers.Category.PAID_ARTICLE_REQUESTS) + " articles with an average of " +
92
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_ARTICLE}).getNumber(Numbers.Category.AVERAGE_PER_ARTICLE) + " EUR " +
93
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_MONOGRAPH_REQUESTS}).getNumber(Numbers.Category.PAID_MONOGRAPH_REQUESTS) + " books with an average of " +
94
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_MONOGRAPH}).getNumber(Numbers.Category.AVERAGE_PER_MONOGRAPH) + " EUR " +
95
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_BOOK_CHAPTER}).getNumber(Numbers.Category.AVERAGE_PER_BOOK_CHAPTER) + " EUR " ;
96

    
97
        String s2 = "Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) +
98
        " approved requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.APPROVED_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.APPROVED_REQUESTS_WITH_DOI) +
99
        " have a DOI.Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS}).getNumber(Numbers.Category.PAID_REQUESTS) +
100
        " paid requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.PAID_REQUESTS_WITH_DOI)  +
101
        " have a DOI.";
102

    
103

    
104
        System.out.println(s1);
105
        System.out.println(s2);
106

    
107

    
108
    }
109

    
110
}
(6-6/7)