Project

General

Profile

1
package unitest;
2

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

    
18
import javax.transaction.Transactional;
19

    
20
import java.util.List;
21

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

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

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

    
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
        Numbers numbers = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS, Numbers.Category.PROJECTS,
88
                Numbers.Category.TOTAL_AMOUNT, Numbers.Category.AVERAGE_AMOUNT, Numbers.Category.AVERAGE_PER_ARTICLE,
89
                Numbers.Category.AVERAGE_PER_MONOGRAPH, Numbers.Category.AVERAGE_PER_BOOK_CHAPTER, Numbers.Category.PAID_REQUESTS,
90
                Numbers.Category.PAID_REQUESTS_WITH_DOI, Numbers.Category.APPROVED_REQUESTS_WITH_DOI, Numbers.Category.PAID_ARTICLE_REQUESTS,
91
                Numbers.Category.PAID_MONOGRAPH_REQUESTS, Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS});
92

    
93
       String s1 = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) + " publications from " +
94
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PROJECTS}).getNumber(Numbers.Category.PROJECTS) + " projects have been approved for funding since 1/1/2015." +
95
                        "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 " +
96
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_AMOUNT}).getNumber(Numbers.Category.AVERAGE_AMOUNT) + "EUR per publication: " +
97
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_ARTICLE_REQUESTS}).getNumber(Numbers.Category.PAID_ARTICLE_REQUESTS) + " articles with an average of " +
98
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_ARTICLE}).getNumber(Numbers.Category.AVERAGE_PER_ARTICLE) + " EUR " +
99
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_MONOGRAPH_REQUESTS}).getNumber(Numbers.Category.PAID_MONOGRAPH_REQUESTS) + " books with an average of " +
100
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_MONOGRAPH}).getNumber(Numbers.Category.AVERAGE_PER_MONOGRAPH) + " EUR " +
101
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS}).getNumber(Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS) + "book chapters with an average of" +
102
                        st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_BOOK_CHAPTER}).getNumber(Numbers.Category.AVERAGE_PER_BOOK_CHAPTER) + " EUR " ;
103

    
104
        String s2 = "Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) +
105
        " approved requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.APPROVED_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.APPROVED_REQUESTS_WITH_DOI) +
106
        " have a DOI.Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS}).getNumber(Numbers.Category.PAID_REQUESTS) +
107
        " paid requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.PAID_REQUESTS_WITH_DOI)  +
108
        " have a DOI.";
109

    
110

    
111
        System.out.println(s1);
112
        System.out.println(s2);
113

    
114

    
115
    }
116

    
117

    
118
    @Test
119
    @Transactional
120
    @Rollback(true)
121
    public void statsData() {
122

    
123
        Numbers rs = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS, Numbers.Category.PROJECTS,
124
                Numbers.Category.TOTAL_AMOUNT, Numbers.Category.AVERAGE_AMOUNT, Numbers.Category.AVERAGE_PER_ARTICLE,
125
                Numbers.Category.AVERAGE_PER_MONOGRAPH, Numbers.Category.AVERAGE_PER_BOOK_CHAPTER, Numbers.Category.PAID_REQUESTS,
126
                Numbers.Category.PAID_REQUESTS_WITH_DOI, Numbers.Category.APPROVED_REQUESTS_WITH_DOI, Numbers.Category.PAID_ARTICLE_REQUESTS,
127
                Numbers.Category.PAID_MONOGRAPH_REQUESTS, Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS});
128

    
129
        Series fundedRequests = st.getSeries(new Series.Category[] {Series.Category.COUNTRY, Series.Category.ORGANIZATION,
130
                Series.Category.PUBLISHER}, new Request.RequestStatus[] {Request.RequestStatus.CONDITIONALLY_APPROVED,
131
                Request.RequestStatus.APPROVED, Request.RequestStatus.ACCOUNTING_PROCESSING, Request.RequestStatus.ACCOUNTING_PAID,
132
                Request.RequestStatus.ACCOUNTING_ON_HOLD});
133
        Series rejectedRequests = st.getSeries(new Series.Category[] {Series.Category.COUNTRY, Series.Category.ORGANIZATION,
134
                Series.Category.PUBLISHER}, new Request.RequestStatus[] {Request.RequestStatus.REJECTED,
135
                Request.RequestStatus.ACCOUNTING_DENIED});
136

    
137
        DateSeries result = st.getDateSeries(DateSeries.Over.DAY, false, null, null, null, null, null, null);
138
        result = st.getDateSeries(DateSeries.Over.DAY, true,null, null, null, null, null, null);
139

    
140
        st.getSeries(new Series.Category[] {Series.Category.STATUS}, null);
141
        st.browse(new Browse.Category[] {Browse.Category.COUNTRY, Browse.Category.ORGANIZATION,
142
                Browse.Category.PUBLISHER, Browse.Category.SCIENTIFIC_AREA});
143
    }
144

    
145

    
146

    
147

    
148

    
149

    
150

    
151
}
(6-6/6)