disabling broken test
[cdmlib.git] / cdmlib-model / src / test / java / eu / etaxonomy / cdm / model / location / TdwgAreaTest.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.model.location;
11
12 import static org.junit.Assert.assertEquals;
13
14 import java.util.ArrayList;
15 import java.util.HashMap;
16 import java.util.HashSet;
17 import java.util.List;
18 import java.util.Set;
19 import java.util.UUID;
20
21 import org.apache.log4j.Logger;
22 import org.junit.After;
23 import org.junit.AfterClass;
24 import org.junit.Before;
25 import org.junit.BeforeClass;
26 import org.junit.Test;
27
28 import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;
29 import eu.etaxonomy.cdm.model.description.Distribution;
30 import eu.etaxonomy.cdm.common.Tree;
31 import eu.etaxonomy.cdm.common.TreeNode;
32 import eu.etaxonomy.cdm.model.location.NamedArea;
33
34 /**
35 * @author a.mueller
36 * @created 23.10.2008
37 * @version 1.0
38 */
39 public class TdwgAreaTest {
40 @SuppressWarnings("unused")
41 private static final Logger logger = Logger.getLogger(TdwgAreaTest.class);
42
43 /**
44 * @throws java.lang.Exception
45 */
46 @BeforeClass
47 public static void setUpBeforeClass() throws Exception {
48 }
49
50 /**
51 * @throws java.lang.Exception
52 */
53 @AfterClass
54 public static void tearDownAfterClass() throws Exception {
55 }
56
57 /**
58 * @throws java.lang.Exception
59 */
60 @Before
61 public void setUp() throws Exception {
62 }
63
64 /**
65 * @throws java.lang.Exception
66 */
67 @After
68 public void tearDown() throws Exception {
69 }
70
71 /**
72 * Test method for {@link eu.etaxonomy.cdm.model.location.TdwgArea#getAreaByTdwgAbbreviation(java.lang.String)}.
73 */
74 @Test
75 public void testGetAreaByTdwgAbbreviation() {
76 // Language.ENGLISH(); // to make sure Terms are already loaded
77 // NamedArea area = TdwgArea.getAreaByTdwgAbbreviation("GER");
78 // Assert.assertEquals("Germany", area.getLabel(Language.ENGLISH()));
79 // Assert.assertNull(TdwgArea.getAreaByTdwgAbbreviation("A1R"));
80 }
81
82 /**
83 * Test method for {@link eu.etaxonomy.cdm.model.location.TdwgArea#getAreaByTdwgLabel(java.lang.String)}.
84 */
85 @Test
86 public void testGetAreaByTdwgLabel() {
87 // Assert.assertEquals("Germany", TdwgArea.getAreaByTdwgLabel("Germany").getLabel(Language.ENGLISH()));
88 // Assert.assertNull(TdwgArea.getAreaByTdwgLabel("A1R"));
89 }
90
91 /**
92 * Test method for {@link eu.etaxonomy.cdm.model.location.TdwgArea#isTdwgAreaLabel(java.lang.String)}.
93 */
94 @Test
95 public void testIsTdwgAreaLabel() {
96 // Assert.assertTrue(TdwgArea.isTdwgAreaLabel("Germany"));
97 // Assert.assertFalse(TdwgArea.isTdwgAreaLabel("sf2fe"));
98 }
99
100 /**
101 * Test method for {@link eu.etaxonomy.cdm.model.location.TdwgArea#addTdwgArea(eu.etaxonomy.cdm.model.location.NamedArea)}.
102 */
103 @Test
104 public void testAddTdwgArea() {
105 // String testAreaLabel = "TestArea";
106 // Assert.assertFalse(TdwgArea.isTdwgAreaLabel(testAreaLabel));
107 // NamedArea area = NamedArea.NewInstance("", testAreaLabel, "");
108 // TdwgArea.addTdwgArea(area);
109 // Field labelMapField = null;
110 // try {
111 // labelMapField = TdwgArea.class.getDeclaredField("labelMap");
112 // labelMapField.setAccessible(true);
113 // Object obj = labelMapField.get(null);
114 // Map<String, UUID> map = (Map<String, UUID>)obj;
115 // Assert.assertEquals(area.getUuid(), map.get(testAreaLabel));
116 // } catch (Exception e) {
117 // // TODO Auto-generated catch block
118 // e.printStackTrace();
119 // }
120 }
121
122 @Test
123 public void testLoadingOfPartOfRelationships() {
124 // NamedArea britain = TdwgArea.getAreaByTdwgAbbreviation("GRB");
125 // NamedArea northernEurope = TdwgArea.getAreaByTdwgAbbreviation("10");
126 // assert britain != null : "NamedArea must exist";
127 // assert northernEurope != null : "NamedArea must exist";
128 //
129 // assertTrue("Northern Europe should include Britain",northernEurope.getIncludes().contains(britain));
130 // assertEquals("Britain should be part of Northern Europe",britain.getPartOf(),northernEurope);
131 }
132
133 @Test
134 public void testNamedAreaLevelAssignment() {
135 // NamedArea britain = TdwgArea.getAreaByTdwgAbbreviation("GRB");
136 // NamedArea northernEurope = TdwgArea.getAreaByTdwgAbbreviation("10");
137 // assert britain != null : "NamedArea must exist";
138 // assert northernEurope != null : "NamedArea must exist";
139 //
140 // assertEquals("Northern Europe should be TDWG Level 2",northernEurope.getLevel(),NamedAreaLevel.TDWG_LEVEL2());
141 // assertEquals("Britain should be TDWG Level 3",britain.getLevel(),NamedAreaLevel.TDWG_LEVEL3());
142 }
143
144 @Test
145 public void testUtf8(){
146 DefaultTermInitializer initializer = new DefaultTermInitializer();
147 initializer.initialize();
148 NamedArea saoTome = TdwgArea.getTermByUuid(UUID.fromString("c64e07cc-0a58-44b3-ac91-c216d1b91c1f"));
149 assertEquals("Utf8 error", "S\u00E3o Tom\u00E9", saoTome.getLabel());
150
151 }
152
153
154
155 // @Test
156 // public void getHirarchichalAreasTest(){
157 // //NamedArea area0 = TdwgArea.getAreaByTdwgLabel("Spain");
158 // //System.out.println(area0.getLabel().toString());
159 // //NamedArea partof = area0.getPartOf();
160 // //System.out.println(partof.getLevel().getLabel());
161 //// NamedAreaLevel level = area0.getLevel();
162 //// System.out.println(level.getLabel().toString());
163 //// System.out.println(getAreaLabelForTDWGLevel(1, area0));
164 //// System.out.println(getAreaLabelForTDWGLevel(2, area0));
165 //// System.out.println(getAreaLabelForTDWGLevel(3, area0));
166 //
167 // //creating levels to omit
168 // Set<NamedAreaLevel> omitLevels = new HashSet<NamedAreaLevel>();
169 // NamedAreaLevel level = NamedAreaLevel.TDWG_LEVEL2();
170 // omitLevels.add(level);
171 //
172 // //creating and filling the list
173 // List<NamedArea> areaList = new ArrayList<NamedArea>();
174 // NamedArea area1 = TdwgArea.getAreaByTdwgLabel("Spain");
175 // areaList.add(area1);
176 // NamedArea area2 = TdwgArea.getAreaByTdwgLabel("Germany");
177 // areaList.add(area2);
178 // NamedArea area3 = TdwgArea.getAreaByTdwgLabel("France");
179 // areaList.add(area3);
180 // NamedArea area4 = TdwgArea.getAreaByTdwgLabel("Italy");
181 // areaList.add(area4);
182 // NamedArea area5 = TdwgArea.getAreaByTdwgLabel("Croatia");
183 // areaList.add(area5);
184 // NamedArea area6 = TdwgArea.getAreaByTdwgLabel("Portugal");
185 // areaList.add(area6);
186 //
187 // //System.out.println(areaListToString(areaList));
188 //
189 // NamedAreaTree tree = new NamedAreaTree();
190 // tree.merge(areaList, omitLevels);
191 ///*
192 // for (NamedArea area : areaList) {
193 // List<NamedArea> levelList = area.getAllLevelList();
194 // tree.merge(levelList);
195 // //System.out.println(areaListToString(levelList));
196 // }
197 //*/
198 // System.out.println(tree.toString());
199 // tree.sortChildren();
200 // System.out.println(tree.toString());
201 //
202 // List<NamedArea> areaList2 = new ArrayList<NamedArea>();
203 // NamedArea area7 = TdwgArea.getAreaByTdwgLabel("Chita");
204 // areaList2.add(area7);
205 // NamedArea area8 = TdwgArea.getAreaByTdwgLabel("Buryatiya");
206 // areaList2.add(area8);
207 // NamedArea area9 = TdwgArea.getAreaByTdwgLabel("Philippines");
208 // areaList2.add(area9);
209 //
210 // tree.merge(areaList2, omitLevels);
211 // tree.sortChildren();
212 // System.out.println(tree.toString());
213 //
214 // List<Distribution> distList = new ArrayList<Distribution>();
215 // Distribution dist1 = Distribution.NewInstance(area1, null);
216 // distList.add(dist1);
217 // Distribution dist2 = Distribution.NewInstance(area2, null);
218 // distList.add(dist2);
219 // Distribution dist3 = Distribution.NewInstance(area3, null);
220 // distList.add(dist3);
221 // Distribution dist4 = Distribution.NewInstance(area4, null);
222 // distList.add(dist4);
223 // Distribution dist5 = Distribution.NewInstance(area5, null);
224 // distList.add(dist5);
225 // Distribution dist6 = Distribution.NewInstance(area6, null);
226 // distList.add(dist6);
227 //
228 // DistributionTree distTree = new DistributionTree();
229 // distTree.merge(distList, omitLevels);
230 //
231 // List<Distribution> distList2 = new ArrayList<Distribution>();
232 // Distribution dist7 = Distribution.NewInstance(area7, null);
233 // distList2.add(dist7);
234 // Distribution dist8 = Distribution.NewInstance(area8, null);
235 // distList2.add(dist8);
236 // Distribution dist9 = Distribution.NewInstance(area9, null);
237 // distList2.add(dist9);
238 // distTree.merge(distList2, omitLevels);
239 // distTree.sortChildren();
240 // System.out.println("## DISTRIBUTION TREE ##");
241 // System.out.println(distTree.toString());
242 //
243 // }
244 //
245
246
247 /*
248 private void print(NamedAreaNode result) {
249 System.out.print("{" + (result == null? "" :result.toString()));
250 for (LevelNode levelNode : result.levelList){
251 System.out.print("[" + levelNode.toString() );
252 for (NamedAreaNode area : levelNode.areaList){
253 print(area);
254 }
255 System.out.print("]" );
256 }
257 System.out.print("}");
258 }
259 */
260 public String areaListToString (List<NamedArea> list){
261 String result = "";
262 for (NamedArea namedArea : list) {
263 result = result + " [" + namedArea.getLabel().toString() + ", " + namedArea.getLevel().getLabel().toString() + "]";
264 }
265 return result;
266 }
267
268 //PRE: in parameter tdwg can not be smaller than the current tdwglevel of the second parameter
269 public static NamedArea getAreaLabelForTDWGLevel(Integer tdwgLevel, NamedArea area){
270 NamedArea aux = area;
271 while (aux.getLevel().getLabel().toString().compareTo("TDWG Level " + tdwgLevel.toString()) != 0) {
272 aux = aux.getPartOf();
273 }
274 return aux;
275 }
276
277
278
279
280
281 }