Project

General

Profile

Download (22.1 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

    
10
package eu.etaxonomy.cdm.model.name;
11

    
12
import static org.junit.Assert.assertEquals;
13
import static org.junit.Assert.assertFalse;
14
import static org.junit.Assert.assertNotNull;
15
import static org.junit.Assert.assertNotSame;
16
import static org.junit.Assert.assertNull;
17
import static org.junit.Assert.assertSame;
18
import static org.junit.Assert.assertTrue;
19

    
20
import org.apache.log4j.Logger;
21
import org.junit.Before;
22
import org.junit.BeforeClass;
23
import org.junit.Test;
24

    
25
import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;
26
import eu.etaxonomy.cdm.model.reference.Generic;
27
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
28
import eu.etaxonomy.cdm.model.description.TaxonDescription;
29
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
30
import eu.etaxonomy.cdm.model.taxon.Taxon;
31
import eu.etaxonomy.cdm.strategy.cache.name.INameCacheStrategy;
32

    
33
/**
34
 * @author a.mueller
35
 * @created 28.06.2008
36
 * @version 1.0
37
 */
38
public class TaxonNameBaseTest {
39
	private static final Logger logger = Logger.getLogger(TaxonNameBaseTest.class);
40

    
41
	private TaxonNameBaseTestClass nameBase1;
42
	private TaxonNameBaseTestClass nameBase2;
43
	
44
	@BeforeClass
45
	public static void setUpBeforeClass() {
46
		DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();
47
		vocabularyStore.initialize();
48
	}
49

    
50
	/**
51
	 * @throws java.lang.Exception
52
	 */
53
	@Before
54
	public void setUp() throws Exception {
55
		nameBase1 = new TaxonNameBaseTestClass(null,null);
56
		nameBase2 = new TaxonNameBaseTestClass(Rank.GENUS());
57
	}
58

    
59
	
60
	private class TaxonNameBaseTestClass extends TaxonNameBase{
61
		public TaxonNameBaseTestClass(){super();};
62
		public TaxonNameBaseTestClass(Rank rank){super(rank);};
63
		public TaxonNameBaseTestClass(HomotypicalGroup hg){super(hg);};
64
		public TaxonNameBaseTestClass(Rank rank, HomotypicalGroup hg){super(rank, hg);};
65
		@Override
66
		public boolean isCodeCompliant(){return false;};
67
		@Override
68
		public void setCacheStrategy(INameCacheStrategy strategy){};
69
		@Override
70
		public INameCacheStrategy getCacheStrategy(){return null;};
71
		@Override
72
		public NomenclaturalCode getNomenclaturalCode(){return null;};
73
		@Override
74
		public String generateFullTitle(){return null;};
75
	}
76

    
77
	
78
/** *************************  TESTS ******************************************************/
79
	
80
	/**
81
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#generateTitle()}.
82
	 */
83
	@Test
84
	public void testGenerateTitle() {
85
		logger.warn("not yet implemented");
86
	}
87

    
88
	@Test
89
	public void testGenerateFullTitle() {
90
		logger.warn("not yet implemented");
91
	}
92
	
93
	/**
94
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#TaxonNameBase()}.
95
	 */
96
	@Test
97
	public void testTaxonNameBase() {
98
		assertNotNull(nameBase1);
99
	}
100

    
101
	/**
102
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#TaxonNameBase(eu.etaxonomy.cdm.model.name.Rank)}.
103
	 */
104
	@Test
105
	public void testTaxonNameBaseRank() {
106
		assertNotNull(nameBase2);
107
		assertEquals(Rank.GENUS(), nameBase2.getRank());
108
		Rank rank = null;
109
		TaxonNameBase testName = new TaxonNameBaseTestClass(rank);
110
		assertNull(testName.getRank());		
111
	}
112

    
113
	/**
114
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#TaxonNameBase(eu.etaxonomy.cdm.model.name.HomotypicalGroup)}.
115
	 */
116
	@Test
117
	public void testTaxonNameBaseHomotypicalGroup() {
118
		HomotypicalGroup hg = HomotypicalGroup.NewInstance();
119
		TaxonNameBase testHG = new TaxonNameBaseTestClass(hg);
120
		assertSame(hg, testHG.getHomotypicalGroup());
121
		HomotypicalGroup hgNull = null;
122
		TaxonNameBase testHGNull = new TaxonNameBaseTestClass(hgNull);
123
		assertNotNull(testHGNull.getHomotypicalGroup());
124
	}
125

    
126
	/**
127
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#TaxonNameBase(eu.etaxonomy.cdm.model.name.Rank, eu.etaxonomy.cdm.model.name.HomotypicalGroup)}.
128
	 */
129
	@Test
130
	public void testTaxonNameBaseRankHomotypicalGroup() {
131
		Rank rank = Rank.SPECIES();
132
		HomotypicalGroup hg = HomotypicalGroup.NewInstance();
133
		TaxonNameBase testHG = new TaxonNameBaseTestClass(rank, hg);
134
		assertSame(rank, testHG.getRank());
135
		assertSame(hg, testHG.getHomotypicalGroup());
136
		
137
		Rank rankNull = null;
138
		HomotypicalGroup hgNull = null;
139
		TaxonNameBase testHGNull = new TaxonNameBaseTestClass(rankNull, hgNull);
140
		assertEquals(rankNull, testHGNull.getRank());
141
		assertNotNull(testHGNull.getHomotypicalGroup());
142
	}
143

    
144
	/**
145
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isCodeCompliant()}.
146
	 */
147
	@Test
148
	public void testIsCodeCompliant() {
149
		//is abstract
150
	}
151

    
152
	/**
153
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNameRelations()}.
154
	 */
155
	@Test
156
	public void testGetNameRelations() {
157
		logger.warn("not yet implemented");
158
	}
159

    
160
	/**
161
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addRelationshipToName(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.String)}.
162
	 */
163
	@Test
164
	public void testAddRelationshipToName() {
165
		logger.warn("not yet implemented");
166
	}
167

    
168
	/**
169
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addRelationshipFromName(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.String)}.
170
	 */
171
	@Test
172
	public void testAddRelationshipFromName() {
173
		logger.warn("not yet implemented");
174
	}
175

    
176
	/**
177
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addNameRelationship(eu.etaxonomy.cdm.model.name.NameRelationship)}.
178
	 */
179
	@Test
180
	public void testAddNameRelationship() {
181
		logger.warn("not yet implemented");
182
	}
183

    
184
	/**
185
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeNameRelationship(eu.etaxonomy.cdm.model.name.NameRelationship)}.
186
	 */
187
	@Test
188
	public void testRemoveNameRelationship() {
189
		logger.warn("not yet implemented");
190
	}
191

    
192
	/**
193
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addRelationship(eu.etaxonomy.cdm.model.common.RelationshipBase)}.
194
	 */
195
	@Test
196
	public void testAddRelationship() {
197
		logger.warn("not yet implemented");
198
	}
199

    
200
	/**
201
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getRelationsFromThisName()}.
202
	 */
203
	@Test
204
	public void testGetRelationsFromThisName() {
205
		logger.warn("not yet implemented");
206
	}
207

    
208
	/**
209
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getRelationsToThisName()}.
210
	 */
211
	@Test
212
	public void testGetRelationsToThisName() {
213
		logger.warn("not yet implemented");
214
	}
215

    
216
	/**
217
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getStatus()}.
218
	 * and for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addStatus(eu.etaxonomy.cdm.model.name.NomenclaturalStatus)}.
219
	 * and for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeStatus(eu.etaxonomy.cdm.model.name.NomenclaturalStatus)}.
220
	 */
221
	@Test
222
	public void testGetAddStatus() {
223
		//Empty status set
224
		assertNotNull(nameBase1.getStatus());
225
		assertEquals(0, nameBase1.getStatus().size());
226
		//1 status set
227
		NomenclaturalStatus nomStatus = NomenclaturalStatus.NewInstance(NomenclaturalStatusType.ALTERNATIVE());
228
		nameBase1.addStatus(nomStatus);
229
		assertNotNull(nameBase1.getStatus());
230
		assertEquals(1, nameBase1.getStatus().size());
231
		assertEquals(nomStatus, nameBase1.getStatus().iterator().next());
232
		//2 status set
233
		NomenclaturalStatus nomStatus2 = NomenclaturalStatus.NewInstance(NomenclaturalStatusType.ALTERNATIVE());
234
		nameBase1.addStatus(nomStatus2);
235
		assertEquals(2, nameBase1.getStatus().size());
236
		assertTrue(nameBase1.getStatus().contains(nomStatus2));
237
		//remove
238
		nameBase1.removeStatus(nomStatus);
239
		assertEquals(1, nameBase1.getStatus().size());
240
		assertTrue(nameBase1.getStatus().contains(nomStatus2));
241
		//remove
242
		nameBase1.removeStatus(nomStatus2);
243
		assertEquals(0, nameBase1.getStatus().size());
244
		assertFalse(nameBase1.getStatus().contains(nomStatus2));
245
		
246
		
247
	}
248

    
249
	/**
250
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setStatus(java.util.Set)}.
251
	 */
252
	@Test
253
	public void testSetStatus() {
254
		//is protected
255
		logger.warn("not yet implemented");
256
	}
257

    
258

    
259
	/**
260
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isOriginalCombination()}.
261
	 */
262
	@Test
263
	public void testIsOriginalCombination() {
264
		logger.warn("not yet implemented");
265
	}
266

    
267
	/**
268
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getBasionym()}.
269
	 */
270
	@Test
271
	public void testGetBasionym() {
272
		logger.warn("not yet implemented");
273
	}
274

    
275
	/**
276
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addBasionym(eu.etaxonomy.cdm.model.name.TaxonNameBase)}.
277
	 */
278
	@Test
279
	public void testAddBasionymT() {
280
		assertNotSame(nameBase1.getHomotypicalGroup(), nameBase2.getHomotypicalGroup());
281
		assertFalse(nameBase1.getHomotypicalGroup().equals(nameBase2.getHomotypicalGroup()));
282
		nameBase1.addBasionym(nameBase2);
283
		assertTrue(nameBase1.getHomotypicalGroup().equals(nameBase2.getHomotypicalGroup()));
284
		assertSame(nameBase1.getHomotypicalGroup(), nameBase2.getHomotypicalGroup());
285
		logger.warn("not yet fully implemented");
286
	}
287

    
288
	/**
289
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addBasionym(eu.etaxonomy.cdm.model.name.TaxonNameBase, java.lang.String)}.
290
	 */
291
	@Test
292
	public void testAddBasionymTString() {
293
		logger.warn("not yet implemented");
294
	}
295

    
296
	/**
297
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeBasionym()}.
298
	 */
299
	@Test
300
	public void testRemoveBasionym() {
301
		logger.warn("not yet implemented");
302
	}
303

    
304
	/**
305
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getCacheStrategy()}.
306
	 */
307
	@Test
308
	public void testGetCacheStrategy() {
309
		//is abstract
310
	}
311

    
312
	/**
313
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setCacheStrategy(eu.etaxonomy.cdm.strategy.cache.name.INameCacheStrategy)}.
314
	 */
315
	@Test
316
	public void testSetCacheStrategy() {
317
		logger.warn("not yet implemented");
318
	}
319

    
320
	/**
321
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getRank()}.
322
	 */
323
	@Test
324
	public void testGetRank() {
325
		logger.warn("not yet implemented");
326
	}
327

    
328
	/**
329
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setRank(eu.etaxonomy.cdm.model.name.Rank)}.
330
	 */
331
	@Test
332
	public void testSetRank() {
333
		logger.warn("not yet implemented");
334
	}
335

    
336
	/**
337
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNomenclaturalReference()}.
338
	 */
339
	@Test
340
	public void testGetNomenclaturalReference() {
341
		INomenclaturalReference nr = nameBase1.getNomenclaturalReference();
342
		assertNull("Nomenclatural Reference shall be null", nr);
343
		nameBase1.setNomenclaturalReference(Generic.NewInstance());
344
		nr = nameBase1.getNomenclaturalReference();
345
		assertNotNull("Nomenclatural Reference shall not be null", nr);
346
	}
347

    
348
	/**
349
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setNomenclaturalReference(eu.etaxonomy.cdm.model.reference.INomenclaturalReference)}.
350
	 */
351
	@Test
352
	public void testSetNomenclaturalReference() {
353
		logger.warn("not yet implemented");
354
	}
355

    
356
	/**
357
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getAppendedPhrase()}.
358
	 */
359
	@Test
360
	public void testGetAppendedPhrase() {
361
		logger.warn("not yet implemented");
362
	}
363

    
364
	/**
365
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setAppendedPhrase(java.lang.String)}.
366
	 */
367
	@Test
368
	public void testSetAppendedPhrase() {
369
		logger.warn("not yet implemented");
370
	}
371

    
372
	/**
373
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNomenclaturalMicroReference()}.
374
	 */
375
	@Test
376
	public void testGetNomenclaturalMicroReference() {
377
		logger.warn("not yet implemented");
378
	}
379

    
380
	/**
381
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setNomenclaturalMicroReference(java.lang.String)}.
382
	 */
383
	@Test
384
	public void testSetNomenclaturalMicroReference() {
385
		logger.warn("not yet implemented");
386
	}
387

    
388
	/**
389
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getHasProblem()}.
390
	 */
391
	@Test
392
	public void testGetHasProblem() {
393
		logger.warn("not yet implemented");
394
	}
395

    
396
	/**
397
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setHasProblem(boolean)}.
398
	 */
399
	@Test
400
	public void testSetHasProblem() {
401
		logger.warn("not yet implemented");
402
	}
403

    
404
	/**
405
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#hasProblem()}.
406
	 */
407
	@Test
408
	public void testHasProblem() {
409
		logger.warn("not yet implemented");
410
	}
411

    
412
	/**
413
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNameTypeDesignations()}.
414
	 */
415
	@Test
416
	public void testGetNameTypeDesignations() {
417
		logger.warn("not yet implemented");
418
	}
419

    
420
	/**
421
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setNameTypeDesignations(java.util.Set)}.
422
	 */
423
	@Test
424
	public void testSetNameTypeDesignations() {
425
		logger.warn("not yet implemented");
426
	}
427

    
428
	/**
429
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addNameTypeDesignation(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.reference.ReferenceBase, java.lang.String, java.lang.String, boolean, boolean)}.
430
	 */
431
	@Test
432
	public void testAddNameTypeDesignation() {
433
		logger.warn("not yet implemented");
434
	}
435

    
436
	/**
437
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeNameTypeDesignation(eu.etaxonomy.cdm.model.name.NameTypeDesignation)}.
438
	 */
439
	@Test
440
	public void testRemoveNameTypeDesignation() {
441
		logger.warn("not yet implemented");
442
	}
443

    
444
	/**
445
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getSpecimenTypeDesignations()}.
446
	 */
447
	@Test
448
	public void testGetSpecimenTypeDesignations() {
449
		logger.warn("not yet implemented");
450
	}
451

    
452
	/**
453
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setSpecimenTypeDesignations(java.util.Set)}.
454
	 */
455
	@Test
456
	public void testSetSpecimenTypeDesignations() {
457
		logger.warn("not yet implemented");
458
	}
459

    
460
	/**
461
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getSpecimenTypeDesignationsOfHomotypicalGroup()}.
462
	 */
463
	@Test
464
	public void testGetSpecimenTypeDesignationsOfHomotypicalGroup() {
465
		logger.warn("not yet implemented");
466
	}
467

    
468
	/**
469
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addSpecimenTypeDesignation(eu.etaxonomy.cdm.model.occurrence.Specimen, eu.etaxonomy.cdm.model.name.TypeDesignationStatus, eu.etaxonomy.cdm.model.reference.ReferenceBase, java.lang.String, java.lang.String, boolean)}.
470
	 */
471
	@Test
472
	public void testAddSpecimenTypeDesignationSpecimenTypeDesignationStatusReferenceBaseStringStringBoolean() {
473
		logger.warn("not yet implemented");
474
	}
475

    
476
	/**
477
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addSpecimenTypeDesignation(eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation)}.
478
	 */
479
	@Test
480
	public void testAddSpecimenTypeDesignationSpecimenTypeDesignation() {
481
		logger.warn("not yet implemented");
482
	}
483

    
484
	/**
485
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeSpecimenTypeDesignation(eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation)}.
486
	 */
487
	@Test
488
	public void testRemoveSpecimenTypeDesignation() {
489
		logger.warn("not yet implemented");
490
	}
491

    
492
	/**
493
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeTypeDesignation(eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation)}.
494
	 */
495
	@Test
496
	public void testRemoveTypeDesignation() {
497
		logger.warn("not yet implemented");
498
	}
499

    
500
	/**
501
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getHomotypicalGroup()}.
502
	 */
503
	@Test
504
	public void testGetHomotypicalGroup() {
505
		logger.warn("not yet implemented");
506
	}
507

    
508
	/**
509
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setHomotypicalGroup(eu.etaxonomy.cdm.model.name.HomotypicalGroup)}.
510
	 */
511
	@Test
512
	public void testSetHomotypicalGroup() {
513
		logger.warn("not yet implemented");
514
	}
515

    
516
	/**
517
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getCitation()}.
518
	 */
519
	@Test
520
	public void testGetCitation() {
521
		logger.warn("not yet implemented");
522
	}
523

    
524
	/**
525
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getCitationString()}.
526
	 */
527
	@Test
528
	public void testGetCitationString() {
529
		logger.warn("not yet implemented");
530
	}
531

    
532
	/**
533
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getProblems()}.
534
	 */
535
	@Test
536
	public void testGetProblems() {
537
		logger.warn("not yet implemented");
538
	}
539

    
540
	/**
541
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getReferenceYear()}.
542
	 */
543
	@Test
544
	public void testGetReferenceYear() {
545
		logger.warn("not yet implemented");
546
	}
547

    
548
	/**
549
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#addTaxonBase(eu.etaxonomy.cdm.model.taxon.TaxonBase)}.
550
	 */
551
	@Test
552
	public void testAddTaxonBase() {
553
		Taxon taxon = Taxon.NewInstance(null, null);  
554
		nameBase2.addTaxonBase(taxon);  //test if reflection method addTaxonBase() works
555
		assertTrue("The taxon has not properly been added to the taxonName", nameBase2.getTaxonBases().contains(taxon));
556
		assertEquals("The taxon name has not properly been added to the taxon", nameBase2, taxon.getName());
557
		nameBase2.removeTaxonBase(taxon); //test if reflection method in removeTaxonBase() works
558
		assertFalse("The taxon has not properly been removed from the taxon name", nameBase2.getTaxonBases().contains(taxon));
559
		assertEquals("The taxon name has not properly been removed from the taxon", null, taxon.getName());
560
	}
561
	
562
	
563
	@Test
564
	public void testAddAndRemoveDescriptionTaxonNameDescription() {
565
		TaxonNameDescription description = TaxonNameDescription.NewInstance();
566
		nameBase2.addDescription(description);  //test if reflection method in addDescription() works
567
		assertTrue("The description has not properly been added to the taxonName", nameBase2.getDescriptions().contains(description));
568
		assertEquals("The taxon name has not properly been added to the description", nameBase2, description.getTaxonName());
569
		nameBase2.removeDescription(description); //test if reflection method in removeDescription() works
570
		assertFalse("The description has not properly been removed from the taxon name", nameBase2.getDescriptions().contains(description));
571
		assertEquals("The taxon name has not properly been removed from the description", null, description.getTaxonName());
572
	}
573

    
574
	/**
575
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getTaxa()}.
576
	 */
577
	@Test
578
	public void testGetTaxa() {
579
		logger.warn("not yet implemented");
580
	}
581

    
582
	/**
583
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getSynonyms()}.
584
	 */
585
	@Test
586
	public void testGetSynonyms() {
587
		logger.warn("not yet implemented");
588
	}
589

    
590
	/**
591
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isHomotypic(eu.etaxonomy.cdm.model.name.TaxonNameBase)}.
592
	 */
593
	@Test
594
	public void testIsHomotypic() {
595
		logger.warn("not yet implemented");
596
	}
597

    
598
	/**
599
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isSupraGeneric()}.
600
	 */
601
	@Test
602
	public void testIsSupraGeneric() {
603
		nameBase1.setRank(Rank.FAMILY());
604
		assertTrue(nameBase1.isSupraGeneric());
605
		nameBase1.setRank(Rank.GENUS());
606
		assertFalse(nameBase1.isSupraGeneric());
607
		nameBase1.setRank(Rank.FORM());
608
		assertFalse(nameBase1.isSupraGeneric());
609
		nameBase1.setRank(null);
610
		assertFalse(nameBase1.isSupraGeneric());
611
	}
612

    
613
	/**
614
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isGenus()}.
615
	 */
616
	@Test
617
	public void testIsGenus() {
618
		nameBase1.setRank(Rank.FAMILY());
619
		assertFalse(nameBase1.isGenus());
620
		nameBase1.setRank(Rank.GENUS());
621
		assertTrue(nameBase1.isGenus());
622
		nameBase1.setRank(Rank.FORM());
623
		assertFalse(nameBase1.isGenus());
624
		nameBase1.setRank(null);
625
		assertFalse(nameBase1.isGenus());
626
	}
627

    
628
	/**
629
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isInfraGeneric()}.
630
	 */
631
	@Test
632
	public void testIsInfraGeneric() {
633
		nameBase1.setRank(Rank.FAMILY());
634
		assertFalse(nameBase1.isInfraGeneric());
635
		nameBase1.setRank(Rank.GENUS());
636
		assertFalse(nameBase1.isInfraGeneric());
637
		nameBase1.setRank(Rank.SUBGENUS());
638
		assertTrue(nameBase1.isInfraGeneric());
639
		nameBase1.setRank(Rank.SPECIES());
640
		assertFalse(nameBase1.isInfraGeneric());
641
		nameBase1.setRank(Rank.FORM());
642
		assertFalse(nameBase1.isInfraGeneric());
643
		nameBase1.setRank(Rank.INFRAGENERICTAXON());
644
		assertTrue(nameBase1.isInfraGeneric());
645
		nameBase1.setRank(null);
646
		assertFalse(nameBase1.isInfraGeneric());
647
	}
648

    
649
	/**
650
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isSpecies()}.
651
	 */
652
	@Test
653
	public void testIsSpecies() {
654
		nameBase1.setRank(Rank.FAMILY());
655
		assertFalse(nameBase1.isSpecies());
656
		nameBase1.setRank(Rank.GENUS());
657
		assertFalse(nameBase1.isSpecies());
658
		nameBase1.setRank(Rank.SUBGENUS());
659
		assertFalse(nameBase1.isSpecies());
660
		nameBase1.setRank(Rank.SPECIES());
661
		assertTrue(nameBase1.isSpecies());
662
		nameBase1.setRank(Rank.FORM());
663
		assertFalse(nameBase1.isSpecies());
664
		nameBase1.setRank(null);
665
		assertFalse(nameBase1.isSpecies());
666
	}
667

    
668
	/**
669
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isInfraSpecific()}.
670
	 */
671
	@Test
672
	public void testIsInfraSpecific() {
673
		nameBase1.setRank(Rank.FAMILY());
674
		assertFalse(nameBase1.isInfraSpecific());
675
		nameBase1.setRank(Rank.GENUS());
676
		assertFalse(nameBase1.isInfraSpecific());
677
		nameBase1.setRank(Rank.SUBGENUS());
678
		assertFalse(nameBase1.isInfraSpecific());
679
		nameBase1.setRank(Rank.SPECIES());
680
		assertFalse(nameBase1.isInfraSpecific());
681
		nameBase1.setRank(Rank.FORM());
682
		assertTrue(nameBase1.isInfraSpecific());
683
		nameBase1.setRank(Rank.INFRASPECIFICTAXON());
684
		assertTrue(nameBase1.isInfraSpecific());
685
		nameBase1.setRank(null);
686
		assertFalse(nameBase1.isInfraSpecific());
687
	}
688

    
689
	/**
690
	 * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNomeclaturalCode()}.
691
	 */
692
	@Test
693
	public void testGetNomeclaturalCode() {
694
		//is abstract
695
	}
696
}
(4-4/4)