Project

General

Profile

Download (7.44 KB) Statistics
| Branch: | Tag: | Revision:
1
package org.cybertaxonomy.utis.checklist;
2

    
3
import static org.junit.Assert.assertEquals;
4
import static org.junit.Assert.assertTrue;
5

    
6
import org.cybertaxonomy.utis.tnr.msg.Classification;
7
import org.cybertaxonomy.utis.tnr.msg.NameType;
8
import org.cybertaxonomy.utis.tnr.msg.Response;
9
import org.cybertaxonomy.utis.tnr.msg.TnrMsg;
10
import org.cybertaxonomy.utis.utils.TnrMsgException;
11
import org.cybertaxonomy.utis.utils.TnrMsgUtils;
12
import org.junit.BeforeClass;
13
import org.junit.Test;
14

    
15
public class EEA_BDC_ClientTest {
16

    
17
    static EEA_BDC_Client client;
18

    
19
    @BeforeClass
20
    public static void  setup() {
21
        client =  new EEA_BDC_Client();
22
        client.setChecklistInfo(client.buildServiceProviderInfo());
23
    }
24

    
25
    @Test
26
    public void scientificNameExact_Synonym_Test() throws DRFChecklistException, TnrMsgException {
27

    
28
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameExact, "Canis dalmatinus", false);
29
        client.queryChecklist(tnrMsg);
30
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
31
        System.out.println(outputXML);
32
        assertEquals(1, tnrMsg.getQuery().get(0).getResponse().size());
33
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
34
        assertEquals("Canis dalmatinus", response.getMatchingNameString());
35
        assertEquals("Canis aureus", response.getTaxon().getTaxonName().getCanonicalName());
36
        assertTrue(response.getTaxon().getSources().size() > 0);
37
        assertEquals(0, response.getSynonym().size());
38
    }
39

    
40
    @Test
41
    public void scientificNameExact_Accepted_Test() throws DRFChecklistException, TnrMsgException {
42

    
43
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameExact, "Canis aureus", true);
44
        client.queryChecklist(tnrMsg);
45
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
46
        System.out.println(outputXML);
47
        assertEquals(1, tnrMsg.getQuery().get(0).getResponse().size());
48
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
49
        assertEquals("Canis aureus", response.getMatchingNameString());
50
        assertEquals("Canis aureus", response.getTaxon().getTaxonName().getCanonicalName());
51
        assertTrue(response.getSynonym().size() > 0);
52
        Classification c = response.getTaxon().getClassification();
53
        assertEquals("Canidae", c.getFamily());
54
        assertEquals("Carnivora", c.getOrder());
55
        assertEquals("Chordata", c.getPhylum());
56
        assertEquals("Animalia", c.getKingdom());
57
    }
58

    
59
    @Test
60
    public void genus_Test() throws DRFChecklistException, TnrMsgException {
61

    
62
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameExact, "Prionus", true);
63
        client.queryChecklist(tnrMsg);
64
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
65
        System.out.println(outputXML);
66
        assertEquals(8, tnrMsg.getQuery().get(0).getResponse().size());
67
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
68
        assertEquals("Prionus", response.getMatchingNameString());
69
        assertEquals("Prionus", response.getTaxon().getTaxonName().getCanonicalName());
70
        Classification c = response.getTaxon().getClassification();
71
        assertEquals("Cerambycidae", c.getFamily());
72
        assertEquals("Coleoptera", c.getOrder());
73
        assertEquals("Arthropoda", c.getPhylum());
74
        assertEquals("Animalia", c.getKingdom());
75
    }
76

    
77

    
78
    @Test
79
    public void family_Test() throws DRFChecklistException, TnrMsgException {
80

    
81
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameExact, "Cerambycidae", true);
82
        client.queryChecklist(tnrMsg);
83
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
84
        System.out.println(outputXML);
85
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() > 20);
86
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
87
        Classification c = response.getTaxon().getClassification();
88
        assertEquals("Cerambycidae", c.getFamily());
89
        assertEquals("Coleoptera", c.getOrder());
90
        assertEquals("Arthropoda", c.getPhylum());
91
        assertEquals("Animalia", c.getKingdom());
92
    }
93

    
94
    @Test
95
    public void scientificNameLikeTest_1() throws DRFChecklistException, TnrMsgException {
96
        String queryString = "Cani";
97
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, queryString, false);
98
        client.queryChecklist(tnrMsg);
99
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
100
        System.out.println(outputXML);
101
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() > 1);
102
        for(Response r : tnrMsg.getQuery().get(0).getResponse()) {
103
            assertTrue(r.getMatchingNameString().startsWith(queryString));
104
        }
105
    }
106

    
107
    @Test
108
    public void scientificNameLikeTest_2() throws DRFChecklistException, TnrMsgException {
109
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, "Abies par", false);
110
        client.queryChecklist(tnrMsg);
111
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
112
        System.out.println(outputXML);
113
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
114
    }
115

    
116
    @Test
117
    public void scientificNameLikeTest_3() throws DRFChecklistException, TnrMsgException {
118
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, "ies par", false);
119
        client.queryChecklist(tnrMsg);
120
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
121
        System.out.println(outputXML);
122
        assertTrue("The query string should not match anything in the middle of the name.", tnrMsg.getQuery().get(0).getResponse().size() == 0);
123
    }
124

    
125
    @Test
126
    public void vernacularNameExactTest_1() throws DRFChecklistException, TnrMsgException {
127
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.vernacularNameExact, "Farkas", false);
128
        client.queryChecklist(tnrMsg);
129
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
130
        System.out.println(outputXML);
131
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
132
        tnrMsg.getQuery().get(0).getResponse().get(0).getTaxon().getTaxonName().getCanonicalName().equals("Canis lupus");
133
    }
134

    
135
    @Test
136
    public void vernacularNameLikeTest_1() throws DRFChecklistException, TnrMsgException {
137
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.vernacularNameLike, "egwart", false);
138
        client.queryChecklist(tnrMsg);
139
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
140
        System.out.println(outputXML);
141
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() > 0);
142
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
143
        assertEquals("Cichorium intybus", response.getTaxon().getTaxonName().getCanonicalName());
144
        assertEquals("Wegwarte", response.getMatchingNameString());
145
        assertEquals(NameType.VERNACULAR_NAME, response.getMatchingNameType());
146
    }
147

    
148
    @Test
149
    public void findByIdentifierTest_1() throws DRFChecklistException, TnrMsgException {
150
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.findByIdentifier, "http://eunis.eea.europa.eu/species/1367", false);
151
        client.queryChecklist(tnrMsg);
152
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
153
        System.out.println(outputXML);
154
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
155
        tnrMsg.getQuery().get(0).getResponse().get(0).getTaxon().getTaxonName().getCanonicalName().equals("Canis lupus");
156
    }
157
}
158

    
(3-3/8)