Project

General

Profile

Download (5.78 KB) Statistics
| Branch: | Tag: | Revision:
1
package org.bgbm.biovel.drf.checklist;
2

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

    
6
import org.bgbm.biovel.drf.tnr.msg.Classification;
7
import org.bgbm.biovel.drf.tnr.msg.NameType;
8
import org.bgbm.biovel.drf.tnr.msg.Response;
9
import org.bgbm.biovel.drf.tnr.msg.TnrMsg;
10
import org.bgbm.biovel.drf.utils.TnrMsgException;
11
import org.bgbm.biovel.drf.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 scientificNameLikeTest_1() throws DRFChecklistException, TnrMsgException {
61
        String queryString = "Cani";
62
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, queryString, false);
63
        client.queryChecklist(tnrMsg);
64
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
65
        System.out.println(outputXML);
66
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() > 1);
67
        for(Response r : tnrMsg.getQuery().get(0).getResponse()) {
68
            assertTrue(r.getMatchingNameString().startsWith(queryString));
69
        }
70
    }
71

    
72
    @Test
73
    public void scientificNameLikeTest_2() throws DRFChecklistException, TnrMsgException {
74
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, "Abies par", false);
75
        client.queryChecklist(tnrMsg);
76
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
77
        System.out.println(outputXML);
78
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
79
    }
80

    
81
    @Test
82
    public void scientificNameLikeTest_3() throws DRFChecklistException, TnrMsgException {
83
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.scientificNameLike, "ies par", false);
84
        client.queryChecklist(tnrMsg);
85
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
86
        System.out.println(outputXML);
87
        assertTrue("The query string should not match anything in the middle of the name.", tnrMsg.getQuery().get(0).getResponse().size() == 0);
88
    }
89

    
90
    @Test
91
    public void vernacularNameExactTest_1() throws DRFChecklistException, TnrMsgException {
92
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.vernacularNameExact, "Farkas", false);
93
        client.queryChecklist(tnrMsg);
94
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
95
        System.out.println(outputXML);
96
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
97
        tnrMsg.getQuery().get(0).getResponse().get(0).getTaxon().getTaxonName().getCanonicalName().equals("Canis lupus");
98
    }
99

    
100
    @Test
101
    public void vernacularNameLikeTest_1() throws DRFChecklistException, TnrMsgException {
102
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.vernacularNameLike, "egwart", false);
103
        client.queryChecklist(tnrMsg);
104
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
105
        System.out.println(outputXML);
106
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() > 0);
107
        Response response = tnrMsg.getQuery().get(0).getResponse().get(0);
108
        assertEquals("Cichorium intybus", response.getTaxon().getTaxonName().getCanonicalName());
109
        assertEquals("Wegwarte", response.getMatchingNameString());
110
        assertEquals(NameType.VERNACULAR_NAME, response.getMatchingNameType());
111
    }
112

    
113
    @Test
114
    public void findByIdentifierTest_1() throws DRFChecklistException, TnrMsgException {
115
        TnrMsg tnrMsg = TnrMsgUtils.createRequest(SearchMode.findByIdentifier, "http://eunis.eea.europa.eu/species/1367", false);
116
        client.queryChecklist(tnrMsg);
117
        String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
118
        System.out.println(outputXML);
119
        assertTrue(tnrMsg.getQuery().get(0).getResponse().size() == 1);
120
        tnrMsg.getQuery().get(0).getResponse().get(0).getTaxon().getTaxonName().getCanonicalName().equals("Canis lupus");
121
    }
122
}
123

    
(3-3/8)