Project

General

Profile

Download (21.3 KB) Statistics
| Branch: | Tag: | Revision:
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
package eu.etaxonomy.cdm.model.name;
10

    
11
import static org.junit.Assert.assertEquals;
12
import static org.junit.Assert.assertFalse;
13
import static org.junit.Assert.assertTrue;
14
import static org.junit.Assert.fail;
15

    
16
import java.util.UUID;
17

    
18
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
19
import org.junit.Test;
20

    
21
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
22
import eu.etaxonomy.cdm.test.unit.EntityTestBase;
23

    
24
public class RankTest extends EntityTestBase {
25

    
26
    private static Logger logger = LogManager.getLogger(RankTest.class);
27

    
28
	private static final UUID uuidEmpire = UUID.fromString("ac470211-1586-4b24-95ca-1038050b618d");
29
	private static final UUID uuidDomain = UUID.fromString("ffca6ec8-8b88-417b-a6a0-f7c992aac19b");
30
	private static final UUID uuidSuperkingdom = UUID.fromString("64223610-7625-4cfd-83ad-b797bf7f0edd");
31
	private static final UUID uuidKingdom = UUID.fromString("fbe7109d-66b3-498c-a697-c6c49c686162");
32
	private static final UUID uuidSubkingdom = UUID.fromString("a71bd9d8-f3ab-4083-afb5-d89315d71655");
33
	private static final UUID uuidInfrakingdom = UUID.fromString("1e37930c-86cf-44f6-90fd-7822928df260");
34
	private static final UUID uuidSuperphylum = UUID.fromString("0d0cecb1-e254-4607-b210-6801e7ecbb04");
35
	private static final UUID uuidPhylum = UUID.fromString("773430d2-76b4-438c-b817-97a543a33287");
36
	private static final UUID uuidSubphylum = UUID.fromString("23a9b6ff-9408-49c9-bd9e-7a2ca5ab4725");
37
	private static final UUID uuidInfraphylum = UUID.fromString("1701de3a-7693-42a5-a2d3-42697f944190");
38
	private static final UUID uuidSuperdivision = UUID.fromString("a735a48f-4fc8-49a7-ae0c-6a984f658131");
39
	private static final UUID uuidDivision = UUID.fromString("7e56f5cc-123a-4fd1-8cbb-6fd80358b581");
40
	private static final UUID uuidSubdivision = UUID.fromString("931c840f-7a6b-4d76-ad38-bfdd77d7b2e8");
41
	private static final UUID uuidInfradivision = UUID.fromString("c0ede273-be52-4dee-b411-66ee08d30c94");
42
	private static final UUID uuidSuperclass = UUID.fromString("e65b4e1a-21ec-428d-9b9f-e87721ab967c");
43
	private static final UUID uuidClass = UUID.fromString("f23d14c4-1d34-4ee6-8b4e-eee2eb9a3daf");
44
	private static final UUID uuidSubclass = UUID.fromString("8cb26733-e2f5-46cb-ab5c-f99254f877aa");
45
	private static final UUID uuidInfraclass = UUID.fromString("ad23cfda-879a-4021-8629-c54d27caf717");
46
	private static final UUID uuidSuperorder = UUID.fromString("c8c67a22-301a-4219-b882-4a49121232ff");
47
	private static final UUID uuidOrder = UUID.fromString("b0785a65-c1c1-4eb4-88c7-dbd3df5aaad1");
48
	private static final UUID uuidSuborder = UUID.fromString("768ad378-fa85-42ab-b668-763225832f57");
49
	private static final UUID uuidInfraorder = UUID.fromString("84099182-a6f5-47d7-8586-33c9e9955a10");
50
	private static final UUID uuidSectionZoology = UUID.fromString("691d371e-10d7-43f0-93db-3d7fa1a62c54");
51
	private static final UUID uuidSubsectionZoology = UUID.fromString("0ed32d28-adc4-4303-a9ca-68e2acd67e33");
52
	private static final UUID uuidSuperfamily = UUID.fromString("2cfa510a-dcea-4a03-b66a-b1528f9b0796");
53
	private static final UUID uuidFamily = UUID.fromString("af5f2481-3192-403f-ae65-7c957a0f02b6");
54
	private static final UUID uuidSubfamily = UUID.fromString("862526ee-7592-4760-a23a-4ff3641541c5");
55
	private static final UUID uuidInfrafamily = UUID.fromString("c3f2e3bb-6eef-4a26-9fb7-b14f4c8c5e4f");
56
	private static final UUID uuidSupertribe = UUID.fromString("11e94828-8c61-499b-87d6-1de35ce2c51c");
57
	private static final UUID uuidTribe = UUID.fromString("4aa6890b-0363-4899-8d7c-ee0cb78e6166");
58
	private static final UUID uuidSubtribe = UUID.fromString("ae41ecc5-5165-4126-9d24-79939ae5d822");
59
	private static final UUID uuidInfratribe = UUID.fromString("1ec02e8f-f2b7-4c65-af9f-b436b34c79a3");
60
	private static final UUID uuidSupragenericTaxon = UUID.fromString("1fdc0b93-c354-441a-8406-091e0303ff5c");
61
	private static final UUID uuidGenus = UUID.fromString("1b11c34c-48a8-4efa-98d5-84f7f66ef43a");
62
	private static final UUID uuidSubgenus = UUID.fromString("78786e16-2a70-48af-a608-494023b91904");
63
	private static final UUID uuidInfragenus = UUID.fromString("a9972969-82cd-4d54-b693-a096422f13fa");
64
	private static final UUID uuidSectionBotany = UUID.fromString("3edff68f-8527-49b5-bf91-7e4398bb975c");
65
	private static final UUID uuidSubsectionBotany = UUID.fromString("d20f5b61-d463-4448-8f8a-c1ff1f262f59");
66
	private static final UUID uuidSeries = UUID.fromString("d7381ecf-48f8-429b-9c54-f461656978cd");
67
	private static final UUID uuidSubseries = UUID.fromString("80c9a263-f4db-4a13-b6c2-b7fec1aa1200");
68
	private static final UUID uuidSpeciesAggregate = UUID.fromString("1ecae058-4217-4f75-9c27-6d8ba099ac7a");
69
	private static final UUID uuidInfragenericTaxon = UUID.fromString("41bcc6ac-37d3-4fd4-bb80-3cc5b04298b9");
70
	private static final UUID uuidSpecies = UUID.fromString("b301f787-f319-4ccc-a10f-b4ed3b99a86d");
71
	private static final UUID uuidSubspecificAggregate = UUID.fromString("72c248b9-027d-4402-b375-dd4f0850c9ad");
72
	private static final UUID uuidSubspecies = UUID.fromString("462a7819-8b00-4190-8313-88b5be81fad5");
73
	private static final UUID uuidInfraspecies = UUID.fromString("f28ebc9e-bd50-4194-9af1-42f5cb971a2c");
74
	private static final UUID uuidVariety = UUID.fromString("d5feb6a5-af5c-45ef-9878-bb4f36aaf490");
75
	private static final UUID uuidBioVariety = UUID.fromString("a3a364cb-1a92-43fc-a717-3c44980a0991");
76
	private static final UUID uuidPathoVariety = UUID.fromString("2f4f4303-a099-47e3-9048-d749d735423b");
77
	private static final UUID uuidSubvariety = UUID.fromString("9a83862a-7aee-480c-a98d-4bceaf8712ca");
78
	private static final UUID uuidSubsubvariety = UUID.fromString("bff22f84-553a-4429-a4e7-c4b3796c3a18");
79

    
80
	private static final UUID uuidProles = UUID.fromString("8810d1ba-6a34-4ae3-a355-919ccd1cd1a5");
81
    private static final UUID uuidSubproles = UUID.fromString("47bd1439-c2ba-4c4e-994f-9c60853258f8");
82
	private static final UUID uuidRace = UUID.fromString("196dee39-cfd8-4460-8bf0-88b83da27f62");
83
	private static final UUID uuidLusus = UUID.fromString("4c8e12f6-2c16-4eda-a7db-fd247dcce789");
84
	private static final UUID uuidSublusus = UUID.fromString("1fafa596-a8e7-4e62-a378-3cc8cb3627ca");
85

    
86
	private static final UUID uuidConvar = UUID.fromString("2cc740c9-cebb-43c8-9b06-1bef79e6a56a");
87
	private static final UUID uuidForm = UUID.fromString("0461281e-458a-47b9-8d41-19a3d39356d5");
88
	private static final UUID uuidSpecialForm = UUID.fromString("bed20aee-2f5a-4635-9c02-eff06246d067");
89
	private static final UUID uuidSubform = UUID.fromString("47cfc5b0-0fb7-4ceb-b61d-e1dd8de8b569");
90
	private static final UUID uuidSubsubform = UUID.fromString("1c8ac389-4349-4ae0-87be-7239f6635068");
91
	private static final UUID uuidInfraspecificTaxon = UUID.fromString("eb75c27d-e154-4570-9d96-227b2df60474");
92
	private static final UUID uuidCandidate = UUID.fromString("ead9a1f5-dfd4-4de2-9121-70a47accb10b");
93
	private static final UUID uuidDenominationClass = UUID.fromString("49bdf74a-2170-40ed-8be2-887a0db517bf");
94
	private static final UUID uuidGrex = UUID.fromString("08dcb4ff-ac58-48a3-93af-efb3d836ac84");
95
	private static final UUID uuidGraftChimaera = UUID.fromString("6b4063bc-f934-4796-9bf3-0ef3aea5c1cb");
96
	private static final UUID uuidCultivarGroup = UUID.fromString("d763e7d3-e7de-4bb1-9d75-225ca6948659");
97
	private static final UUID uuidCultivar = UUID.fromString("5e98415b-dc6e-440b-95d6-ea33dbb39ad0");
98

    
99
	@Test
100
	public void testRankStringString() {
101
		Rank rank = new Rank(RankClass.Species, "term", "label", null);
102
		assertEquals("label", rank.getLabel());
103
	}
104

    
105
	@Test
106
	public void testEMPIRE() {
107
		assertEquals(uuidEmpire,  Rank.EMPIRE().getUuid());
108
		assertTrue(Rank.EMPIRE().isSupraGeneric());
109
	}
110

    
111
	@Test
112
	public void testDOMAIN() {
113
		assertEquals(uuidDomain,  Rank.DOMAIN().getUuid());
114
	}
115

    
116
	@Test
117
	public void testSUPERKINGDOM() {
118
		assertEquals(uuidSuperkingdom,  Rank.SUPERKINGDOM().getUuid());
119
	}
120

    
121
	@Test
122
	public void testKINGDOM() {
123
		assertEquals(uuidKingdom,  Rank.KINGDOM().getUuid());
124
	}
125

    
126
	@Test
127
	public void testSUBKINGDOM() {
128
		assertEquals(uuidSubkingdom, Rank.SUBKINGDOM().getUuid());
129
	}
130

    
131
	@Test
132
	public void testINFRAKINGDOM() {
133
		assertEquals(uuidInfrakingdom, Rank.INFRAKINGDOM().getUuid());
134
	}
135

    
136
	@Test
137
	public void testSUPERPHYLUM() {
138
		assertEquals(uuidSuperphylum, Rank.SUPERPHYLUM().getUuid());
139
	}
140

    
141
	@Test
142
	public void testPHYLUM() {
143
		assertEquals(uuidPhylum, Rank.PHYLUM().getUuid());
144
	}
145

    
146
	@Test
147
	public void testSUBPHYLUM() {
148
		assertEquals(uuidSubphylum, Rank.SUBPHYLUM().getUuid());
149
	}
150

    
151
	@Test
152
	public void testINFRAPHYLUM() {
153
		assertEquals(uuidInfraphylum, Rank.INFRAPHYLUM().getUuid());
154
	}
155

    
156
	@Test
157
	public void testSUPERDIVISION() {
158
		assertEquals(uuidSuperdivision, Rank.SUPERDIVISION().getUuid());
159
	}
160

    
161
	@Test
162
	public void testDIVISION() {
163
		assertEquals(uuidDivision, Rank.DIVISION().getUuid());
164
	}
165

    
166
	@Test
167
	public void testSUBDIVISION() {
168
		assertEquals(uuidSubdivision, Rank.SUBDIVISION().getUuid());
169
	}
170

    
171
	@Test
172
	public void testINFRADIVISION() {
173
		assertEquals(uuidInfradivision, Rank.INFRADIVISION().getUuid());
174
	}
175

    
176
	@Test
177
	public void testSUPERCLASS() {
178
		assertEquals(uuidSuperclass, Rank.SUPERCLASS().getUuid());
179
	}
180

    
181
	@Test
182
	public void testCLASS() {
183
		assertEquals(uuidClass, Rank.CLASS().getUuid());
184
	}
185

    
186
	@Test
187
	public void testSUBCLASS() {
188
		assertEquals(uuidSubclass, Rank.SUBCLASS().getUuid());
189
	}
190

    
191
	@Test
192
	public void testINFRACLASS() {
193
		assertEquals(uuidInfraclass, Rank.INFRACLASS().getUuid());
194
	}
195

    
196
	@Test
197
	public void testSUPERORDER() {
198
		assertEquals(uuidSuperorder, Rank.SUPERORDER().getUuid());
199
	}
200

    
201
	@Test
202
	public void testORDER() {
203
		assertEquals(uuidOrder, Rank.ORDER().getUuid());
204
	}
205

    
206
	@Test
207
	public void testSUBORDER() {
208
		assertEquals(uuidSuborder, Rank.SUBORDER().getUuid());
209
	}
210

    
211
	@Test
212
	public void testINFRAORDER() {
213
		assertEquals(uuidInfraorder, Rank.INFRAORDER().getUuid());
214
	}
215

    
216
	@Test
217
	public void testSUPERFAMILY() {
218
		assertEquals(uuidSuperfamily, Rank.SUPERFAMILY().getUuid());
219
	}
220

    
221
	@Test
222
	public void testFAMILY() {
223
		assertEquals(uuidFamily,  Rank.FAMILY().getUuid());
224
	}
225

    
226
	@Test
227
	public void testSUBFAMILY() {
228
		assertEquals(uuidSubfamily, Rank.SUBFAMILY().getUuid());
229
	}
230

    
231
	@Test
232
	public void testINFRAFAMILY() {
233
		assertEquals(uuidInfrafamily, Rank.INFRAFAMILY().getUuid());
234
	}
235

    
236
	@Test
237
	public void testSUPERTRIBE() {
238
		assertEquals(uuidSupertribe, Rank.SUPERTRIBE().getUuid());
239
	}
240

    
241
	@Test
242
	public void testTRIBE() {
243
		assertEquals(uuidTribe,  Rank.TRIBE().getUuid());
244
	}
245

    
246
	@Test
247
	public void testSUBTRIBE() {
248
		assertEquals(uuidSubtribe, Rank.SUBTRIBE().getUuid());
249
	}
250

    
251
	@Test
252
	public void testINFRATRIBE() {
253
		assertEquals(uuidInfratribe, Rank.INFRATRIBE().getUuid());
254
	}
255

    
256
	@Test
257
	public void testSUPRAGENERICTAXON() {
258
		assertEquals(uuidSupragenericTaxon, Rank.SUPRAGENERICTAXON().getUuid());
259
	}
260

    
261
	@Test
262
	public void testGENUS() {
263
		assertEquals(uuidGenus,  Rank.GENUS().getUuid());	}
264

    
265
	@Test
266
	public void testSUBGENUS() {
267
		assertEquals(uuidSubgenus, Rank.SUBGENUS().getUuid());
268
	}
269

    
270
	@Test
271
	public void testINFRAGENUS() {
272
		assertEquals(uuidInfragenus, Rank.INFRAGENUS().getUuid());
273
	}
274

    
275
	@Test
276
	public void testSECTION_BOTANY() {
277
		assertEquals(uuidSectionBotany, Rank.SECTION_BOTANY().getUuid());
278
	}
279

    
280
	@Test
281
	public void testSUBSECTION() {
282
		assertEquals(uuidSubsectionBotany, Rank.SUBSECTION_BOTANY().getUuid());
283
	}
284

    
285
	@Test
286
	public void testSECTION_ZOOLOGY() {
287
		assertEquals(uuidSectionZoology, Rank.SECTION_ZOOLOGY().getUuid());
288
	}
289

    
290
	@Test
291
	public void testSUBSECTION_ZOOLOGY() {
292
		assertEquals(uuidSubsectionZoology, Rank.SUBSECTION_ZOOLOGY().getUuid());
293
	}
294

    
295
	@Test
296
	public void testSERIES() {
297
		assertEquals(uuidSeries, Rank.SERIES().getUuid());
298
	}
299

    
300
	@Test
301
	public void testSUBSERIES() {
302
		assertEquals(uuidSubseries, Rank.SUBSERIES().getUuid());
303
	}
304

    
305
	@Test
306
	public void testSPECIESAGGREGATE() {
307
		assertEquals(uuidSpeciesAggregate,  Rank.SPECIESAGGREGATE().getUuid());
308
	}
309

    
310
	@Test
311
	public void testINFRAGENERICTAXON() {
312
		assertEquals(uuidInfragenericTaxon,  Rank.INFRAGENERICTAXON().getUuid());
313
	}
314

    
315
	@Test
316
	public void testSPECIES() {
317
		assertEquals(uuidSpecies,  Rank.SPECIES().getUuid());
318
	}
319

    
320
	@Test
321
	public void testSUBSPECIFICAGGREGATE() {
322
		assertEquals(uuidSubspecificAggregate, Rank.SUBSPECIFICAGGREGATE().getUuid());
323
	}
324

    
325
	@Test
326
	public void testSUBSPECIES() {
327
		assertEquals(uuidSubspecies,  Rank.SUBSPECIES().getUuid());
328
	}
329

    
330
	@Test
331
	public void testINFRASPECIES() {
332
		assertEquals(uuidInfraspecies,  Rank.INFRASPECIES().getUuid());
333
	}
334

    
335
	@Test
336
	public void testVARIETY() {
337
		assertEquals(uuidVariety,  Rank.VARIETY().getUuid());
338
	}
339

    
340
	@Test
341
	public void testBIOVARIETY() {
342
		assertEquals(uuidBioVariety,  Rank.BIOVARIETY().getUuid());
343
	}
344

    
345
	@Test
346
	public void testPATHOVARIETY() {
347
		assertEquals(uuidPathoVariety,  Rank.PATHOVARIETY().getUuid());
348
	}
349

    
350
	@Test
351
	public void testSUBVARIETY() {
352
		assertEquals(uuidSubvariety, Rank.SUBVARIETY().getUuid());
353
	}
354

    
355
	@Test
356
	public void testSUBSUBVARIETY() {
357
		assertEquals(uuidSubsubvariety,  Rank.SUBSUBVARIETY().getUuid());
358
	}
359

    
360
	@Test
361
	public void testPROLES() {
362
		assertEquals(uuidProles,  Rank.PROLES().getUuid());
363
	}
364
    @Test
365
    public void testSUBPROLES() {
366
        assertEquals(uuidSubproles,  Rank.SUBPROLES().getUuid());
367
    }
368

    
369
	@Test
370
	public void testRACE() {
371
		assertEquals(uuidRace, Rank.RACE().getUuid());
372
	}
373
    @Test
374
    public void testLUSUS() {
375
        assertEquals(uuidLusus, Rank.LUSUS().getUuid());
376
    }
377
	@Test
378
	public void testSUBLUSUS() {
379
		assertEquals(uuidSublusus, Rank.SUBLUSUS().getUuid());
380
	}
381

    
382
	@Test
383
	public void testCONVAR() {
384
		assertEquals(uuidConvar, Rank.CONVAR().getUuid());
385
		assertFalse(Rank.CONVAR().isCultivar());  //#6387
386
	}
387

    
388
	@Test
389
	public void testFORM() {
390
		assertEquals(uuidForm, Rank.FORM().getUuid());
391
	}
392

    
393
	@Test
394
	public void testSPECIALFORM() {
395
		assertEquals(uuidSpecialForm, Rank.SPECIALFORM().getUuid());
396
	}
397

    
398
	@Test
399
	public void testSUBFORM() {
400
		assertEquals(uuidSubform, Rank.SUBFORM().getUuid());
401
	}
402

    
403
	@Test
404
	public void testSUBSUBFORM() {
405
		assertEquals(uuidSubsubform, Rank.SUBSUBFORM().getUuid());
406
	}
407

    
408
	@Test
409
	public void testINFRASPECIFICTAXON() {
410
		assertEquals(uuidInfraspecificTaxon, Rank.INFRASPECIFICTAXON().getUuid());
411
	}
412

    
413
	@Test
414
	public void testCANDIDATE() {
415
		assertEquals(uuidCandidate, Rank.CANDIDATE().getUuid());
416
	}
417

    
418
	@Test
419
	public void testDENOMINATIONCLASS() {
420
		assertEquals(uuidDenominationClass, Rank.DENOMINATIONCLASS().getUuid());
421
	}
422

    
423
	@Test
424
	public void testGREX() {
425
		assertEquals(uuidGrex, Rank.GREX_INFRASPEC().getUuid());
426
	}
427

    
428
	@Test
429
	public void testGRAFTCHIMAERA() {
430
		assertEquals(uuidGraftChimaera, Rank.GRAFTCHIMAERA().getUuid());
431
	}
432

    
433
	@Test
434
	public void testCULTIVARGROUP() {
435
		assertEquals(uuidCultivarGroup, Rank.CULTIVARGROUP().getUuid());	}
436

    
437
	@Test
438
	public void testCULTIVAR() {
439
		assertEquals(uuidCultivar, Rank.CULTIVAR().getUuid());	}
440

    
441

    
442
	@Test
443
	public void testIsSupraGeneric() {
444
		assertTrue(Rank.KINGDOM().isSupraGeneric());
445
		assertTrue(Rank.FAMILY().isSupraGeneric());
446
		assertTrue(Rank.ORDER().isSupraGeneric());
447
		assertTrue(Rank.TRIBE().isSupraGeneric());
448
		assertTrue(Rank.SUPRAGENERICTAXON().isSupraGeneric());
449
		assertFalse(Rank.GENUS().isSupraGeneric());
450
		assertFalse(Rank.SPECIES().isSupraGeneric());
451
		assertFalse(Rank.CULTIVAR().isSupraGeneric());
452
	}
453

    
454
	@Test
455
	public void testIsGenus() {
456
		assertFalse(Rank.KINGDOM().isGenus());
457
		assertFalse(Rank.FAMILY().isGenus());
458
		assertFalse(Rank.ORDER().isGenus());
459
		assertFalse(Rank.TRIBE().isGenus());
460
		assertFalse(Rank.SUPRAGENERICTAXON().isGenus());
461
		assertTrue(Rank.GENUS().isGenus());
462
		assertFalse(Rank.SPECIES().isGenus());
463
		assertFalse(Rank.CULTIVAR().isGenus());
464
	}
465

    
466
	@Test
467
	public void testIsInfraGeneric() {
468
		assertFalse(Rank.KINGDOM().isInfraGeneric());
469
		assertFalse(Rank.FAMILY().isInfraGeneric());
470
		assertFalse(Rank.ORDER().isInfraGeneric());
471
		assertFalse(Rank.TRIBE().isInfraGeneric());
472
		assertFalse(Rank.SUPRAGENERICTAXON().isInfraGeneric());
473
		assertFalse(Rank.GENUS().isInfraGeneric());
474
		assertTrue(Rank.SUBGENUS().isInfraGeneric());
475
		assertTrue(Rank.INFRAGENUS().isInfraGeneric());
476
		assertTrue(Rank.INFRAGENERICTAXON().isInfraGeneric());
477
		assertTrue(Rank.SPECIESAGGREGATE().isInfraGeneric());
478
		assertFalse(Rank.SPECIES().isInfraGeneric());
479
		assertFalse(Rank.SUBSPECIES().isInfraGeneric());
480
		assertFalse(Rank.CULTIVAR().isInfraGeneric());
481
	}
482

    
483
	@Test
484
	public void testIsSpecies() {
485
		assertFalse(Rank.KINGDOM().isSpecies());
486
		assertFalse(Rank.FAMILY().isSpecies());
487
		assertFalse(Rank.ORDER().isSpecies());
488
		assertFalse(Rank.TRIBE().isSpecies());
489
		assertFalse(Rank.SUPRAGENERICTAXON().isSpecies());
490
		assertFalse(Rank.GENUS().isSpecies());
491
		assertFalse(Rank.SUBGENUS().isSpecies());
492
		assertFalse(Rank.INFRAGENUS().isSpecies());
493
		assertFalse(Rank.INFRAGENERICTAXON().isSpecies());
494
		assertFalse(Rank.SPECIESAGGREGATE().isSpecies());
495
		assertTrue(Rank.SPECIES().isSpecies());
496
		assertFalse(Rank.SUBSPECIES().isSpecies());
497
		assertFalse(Rank.CULTIVAR().isSpecies());
498
	}
499

    
500
	@Test
501
	public void testIsInfraSpecific() {
502
		assertFalse(Rank.KINGDOM().isInfraSpecific());
503
		assertFalse(Rank.FAMILY().isInfraSpecific());
504
		assertFalse(Rank.ORDER().isInfraSpecific());
505
		assertFalse(Rank.TRIBE().isInfraSpecific());
506
		assertFalse(Rank.SUPRAGENERICTAXON().isInfraSpecific());
507
		assertFalse(Rank.GENUS().isInfraSpecific());
508
		assertFalse(Rank.SUBGENUS().isInfraSpecific());
509
		assertFalse(Rank.INFRAGENUS().isInfraSpecific());
510
		assertFalse(Rank.INFRAGENERICTAXON().isInfraSpecific());
511
		assertFalse(Rank.SPECIESAGGREGATE().isInfraSpecific());
512
		assertFalse(Rank.SPECIES().isInfraSpecific());
513
		assertTrue(Rank.SUBSPECIFICAGGREGATE().isInfraSpecific());
514
		assertTrue(Rank.SUBSPECIES().isInfraSpecific());
515
		assertTrue(Rank.SUBSPECIES().isInfraSpecific());
516
		assertTrue(Rank.SUBSPECIES().isInfraSpecific());
517
		assertTrue(Rank.SUBSPECIES().isInfraSpecific());
518
		assertTrue(Rank.CULTIVAR().isInfraSpecific());   //AM: ??
519

    
520
		assertTrue(Rank.GREX_INFRASPEC().isInfraSpecific());
521
	    assertTrue(Rank.SUBGREX().isInfraSpecific());
522
        assertTrue(Rank.LUSUS().isInfraSpecific());
523
        assertTrue(Rank.SUBLUSUS().isInfraSpecific());
524
        assertTrue(Rank.PROLES().isInfraSpecific());
525
	}
526

    
527
	@Test
528
	public void testGetRankByNameOrAbbreviation() {
529
		NomenclaturalCode bot = NomenclaturalCode.ICNAFP;
530
		NomenclaturalCode zoo = NomenclaturalCode.ICZN;
531
		try {
532
			assertEquals(Rank.VARIETY(), Rank.getRankByIdInVoc("var."));
533
			assertEquals(Rank.GENUS(), Rank.getRankByLatinName("genus"));
534

    
535
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByIdInVoc("sect."));
536
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByIdInVoc("sect.", false));
537
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByIdInVoc("sect.", bot));
538
			assertEquals(Rank.SECTION_ZOOLOGY(), Rank.getRankByIdInVoc("sect.", zoo));
539
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByIdInVoc("sect.", bot, false));
540
			assertEquals(Rank.SECTION_ZOOLOGY(), Rank.getRankByIdInVoc("sect.", zoo, false));
541

    
542
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByLatinName("Sectio"));
543
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByLatinName("Sectio", false));
544
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByLatinName("Sectio", bot));
545
			assertEquals(Rank.SECTION_ZOOLOGY(), Rank.getRankByLatinName("Sectio", zoo));
546
			assertEquals(Rank.SECTION_BOTANY(), Rank.getRankByLatinName("Sectio", bot, false));
547
			assertEquals(Rank.SECTION_ZOOLOGY(), Rank.getRankByLatinName("Sectio", zoo, false));
548

    
549
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("Subsectio"));
550
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("subsect."));
551
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("Subsectio", false));
552
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("subsect.", false));
553
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("Subsectio", bot));
554
			assertEquals(Rank.SUBSECTION_ZOOLOGY(), Rank.getRankByLatinNameOrIdInVoc("subsect.", zoo));
555
			assertEquals(Rank.SUBSECTION_BOTANY(), Rank.getRankByLatinNameOrIdInVoc("Subsectio", bot, false));
556
			assertEquals(Rank.SUBSECTION_ZOOLOGY(), Rank.getRankByLatinNameOrIdInVoc("subsect.", zoo, false));
557

    
558
		} catch (UnknownCdmTypeException e) {
559
			fail();
560
		}
561
		logger.warn("Not yet fully implemented");
562
	}
563

    
564
	@Test
565
	public void testGetRankByAbbreviation() {
566
		try {
567
			assertEquals(Rank.SPECIES(), Rank.getRankByIdInVoc("sp."));
568
		} catch (UnknownCdmTypeException e) {
569
			fail();
570
		}
571
		logger.warn("Not yet fully implemented");
572
	}
573

    
574
	@Test
575
	public void testGetRankByName() {
576
		try {
577
			assertEquals(Rank.SPECIES(), Rank.getRankByLatinName("species"));
578
			// TODO: Cleanup Rank label names and rank to name mapping
579
			//assertEquals(Rank.SUBFAMILY(), Rank.getRankByName("subfamily"));
580
		} catch (UnknownCdmTypeException e) {
581
			fail();
582
		}
583
		logger.warn("Not yet fully implemented");
584
	}
585

    
586
	@Test
587
	public void testGetAbbreviation() {
588
		assertEquals("sp.", Rank.SPECIES().getAbbreviation());
589
		logger.warn("Not yet fully implemented");
590
	}
591
}
(11-11/17)