Project

General

Profile

Download (4.72 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.taxon;
11

    
12
import static org.junit.Assert.assertEquals;
13
import static org.junit.Assert.assertNotNull;
14
import static org.junit.Assert.assertNull;
15
import static org.junit.Assert.assertSame;
16

    
17
import org.apache.log4j.Logger;
18
import org.junit.After;
19
import org.junit.Before;
20
import org.junit.BeforeClass;
21
import org.junit.Test;
22

    
23
import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;
24
import eu.etaxonomy.cdm.model.name.BotanicalName;
25
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
26
import eu.etaxonomy.cdm.model.name.IZoologicalName;
27
import eu.etaxonomy.cdm.model.name.Rank;
28
import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
29
import eu.etaxonomy.cdm.model.reference.Reference;
30
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
31
import eu.etaxonomy.cdm.test.unit.EntityTestBase;
32

    
33
/**
34
 * @author a.mueller
35
 *
36
 */
37
public class TaxonBaseTest extends EntityTestBase {
38
	@SuppressWarnings("unused")
39
	private static final Logger logger = Logger.getLogger(TaxonBaseTest.class);
40

    
41
	private Reference sec;
42
	private IZoologicalName name1;
43
	private BotanicalName name2;
44
	private Taxon rootT;
45
	private Taxon taxon1;
46
	private Synonym synonym1;
47
	private Taxon freeT;
48

    
49
	@BeforeClass
50
	public static void setUpBeforeClass() {
51
		DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();
52
		vocabularyStore.initialize();
53
	}
54

    
55
	/**
56
	 * @throws java.lang.Exception
57
	 */
58
	@Before
59
	public void setUp() throws Exception {
60
		sec= ReferenceFactory.newBook();
61
		sec.setTitleCache("Schoenes saftiges Allg�u", true);
62
		name1 = TaxonNameFactory.NewZoologicalInstance(Rank.SPECIES(),"Panthera",null,"onca",null,null,null,"p.1467", null);
63
		HomotypicalGroup homotypicalGroup = HomotypicalGroup.NewInstance();
64
		name2 = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES(),"Abies",null,"alba",null,null,null,"p.317", homotypicalGroup);
65
		// taxa
66
		taxon1 = Taxon.NewInstance(name1,sec);
67
		synonym1 = Synonym.NewInstance(name2,sec);
68
		freeT = Taxon.NewInstance(null, null);
69
	}
70

    
71
	/**
72
	 * @throws java.lang.Exception
73
	 */
74
	@After
75
	public void tearDown() throws Exception {
76
	}
77

    
78
/**************** TESTS **************************************/
79

    
80
	/**
81
	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#getName()}.
82
	 */
83
	@Test
84
	public final void testGetName() {
85
		assertEquals(name1.getTitleCache(), taxon1.getName().getTitleCache());
86
		assertNull(freeT.getName());
87
	}
88
//
89
//	/**
90
//	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#setName(eu.etaxonomy.cdm.model.name.TaxonNameBase)}.
91
//	 */
92
//	@Test
93
//	public final void testSetName() {
94
//		assertNull(freeT.getName());
95
//		freeT.setName(name2);
96
//		assertNotNull(freeT.getName());
97
//		assertSame(freeT.getName(), name2);
98
//		assertTrue(name1.getTaxa().contains(taxon1));
99
//		assertTrue(name2.getSynonyms().contains(synonym1));
100
//	}
101

    
102
	/**
103
	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#isDoubtful()}.
104
	 */
105
	@Test
106
	public final void testIsDoubtful() {
107
		boolean oldValue;
108
		oldValue = taxon1.isDoubtful();
109
		taxon1.setDoubtful(!oldValue);
110
		assertEquals(! oldValue, taxon1.isDoubtful());
111
		taxon1.setDoubtful(oldValue);
112
		assertEquals( oldValue, taxon1.isDoubtful());
113
	}
114

    
115
	/**
116
	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#setDoubtful(boolean)}.
117
	 */
118
	@Test
119
	public final void testSetDoubtful() {
120
		//covered by testIsDoubtful
121
	}
122

    
123
	/**
124
	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#getSec()}.
125
	 */
126
	@Test
127
	public final void testGetSec() {
128
		assertEquals(sec.getTitleCache(), taxon1.getSec().getTitleCache());
129
		assertNull(freeT.getSec());
130
	}
131

    
132
	/**
133
	 * Test method for {@link eu.etaxonomy.cdm.model.taxon.TaxonBase#setSec(eu.etaxonomy.cdm.model.reference.Reference)}.
134
	 */
135
	@Test
136
	public final void testSetSec() {
137
		assertNull(freeT.getSec());
138
		freeT.setSec(sec);
139
		assertNotNull(freeT.getSec());
140
		assertSame(freeT.getSec(), sec);
141
	}
142

    
143
	@Test
144

    
145
	public final void testClone(){
146

    
147
		TaxonNameBase<?,?> test = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES());
148
		String genus = "test";
149
		String infraGenericEpithet = "test";
150
		test.setGenusOrUninomial(genus);
151
		test.setInfraGenericEpithet(infraGenericEpithet);
152
		Reference secRef = ReferenceFactory.newArticle();
153
		secRef.setTitle("Test ...");
154
		freeT.setSec(secRef);
155
		freeT.setName(test);
156
		Taxon clone = (Taxon)freeT.clone();
157
		assertNull(clone.getSec());
158
		assertSame(freeT.getName(), clone.getName());
159
	}
160
}
(3-3/7)