fa2f16b13168114fd8a8393518737294d410d3b5
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.model
.common
;
12 import static org
.junit
.Assert
.*;
14 import java
.util
.Iterator
;
16 import java
.util
.SortedSet
;
18 import org
.apache
.log4j
.Logger
;
19 import org
.junit
.After
;
20 import org
.junit
.AfterClass
;
21 import org
.junit
.Before
;
22 import org
.junit
.BeforeClass
;
23 import org
.junit
.Test
;
25 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
26 import eu
.etaxonomy
.cdm
.test
.unit
.EntityTestBase
;
29 public class TermVocabularyTest
extends EntityTestBase
{
30 private static Logger logger
= Logger
.getLogger(TermVocabularyTest
.class);
32 private DefinedTermBase dtb1
;
33 private DefinedTermBase dtb2
;
34 private DefinedTermBase dtb3
;
35 private DefinedTermBase dtbFree
;
36 private TermVocabulary
<DefinedTermBase
> voc1
;
37 private TermVocabulary
<DefinedTermBase
> voc2
;
38 private TermVocabulary
<DefinedTermBase
> voc3
;
42 public static void setUpBeforeClass() throws Exception
{
46 public static void tearDownAfterClass() throws Exception
{
50 public void setUp() throws Exception
{
51 dtb1
= new DerivedDefinedTermBase("otb1", "high", null);
52 dtb2
= new DerivedDefinedTermBase("term", "middel", null);
53 dtb3
= new DerivedDefinedTermBase("otb3", "low", null);
54 dtbFree
= new DerivedDefinedTermBase();
55 voc1
= new TermVocabulary
<DefinedTermBase
>();
62 public void tearDown() throws Exception
{
65 private class DerivedDefinedTermBase
extends OrderedTermBase
<DerivedDefinedTermBase
>{
66 private DerivedDefinedTermBase(){
69 private DerivedDefinedTermBase(String term
, String label
, String labelAbbrev
){
70 super(term
, label
, labelAbbrev
);
74 /****************** TESTS ****************************************/
77 public final void testSetUp() {
78 assertEquals(3, voc1
.size());
79 assertEquals(3, voc1
.getTerms().size());
83 public final void testGetNewTermSet() {
84 assertNotNull(voc1
.getNewTermSet());
85 assertTrue(Set
.class.isAssignableFrom(voc1
.getNewTermSet().getClass()));
89 public final void testTermVocabulary() {
94 public final void testTermVocabularyStringStringString() {
95 voc2
= new TermVocabulary
<DefinedTermBase
>("term", "label", null, "termSourceUri");
96 assertEquals("label", voc2
.getLabel());
101 public final void testGetTerms() {
102 assertEquals(3, voc1
.getTerms().size());
103 //assertNotSame(voc1.terms, voc1.getTerms());
104 assertTrue( voc1
.terms
.getClass().isAssignableFrom(voc1
.getTerms().getClass()));
108 public final void testSetTerms() {
109 logger
.warn("Not yet implemented"); // TODO
113 public final void testAddTerm() {
115 voc1
.addTerm(dtbFree
);
116 } catch (WrongTermTypeException e
) {
119 assertEquals(4, voc1
.size());
124 public final void testAddTerm_2() {
125 Rank rank
= Rank
.SPECIES();
126 voc2
= new TermVocabulary
<DefinedTermBase
>();
129 } catch (WrongTermTypeException e
) {
132 Language lang
= Language
.ENGLISH();
135 fail("Exception should be thrown");
136 } catch (WrongTermTypeException e
) {
142 public final void testRemoveTerm() {
143 assertEquals(3, voc1
.size());
144 assertTrue(voc1
.getTerms().contains(dtb3
));
145 voc1
.removeTerm(dtb3
);
146 assertFalse(voc1
.getTerms().contains(dtb3
));
147 assertEquals(2, voc1
.size());
148 voc1
.removeTerm(dtb3
);
149 assertEquals(2, voc1
.size());
150 assertTrue(voc1
.getTerms().contains(dtb1
));
151 voc1
.removeTerm(dtb1
);
152 assertFalse(voc1
.getTerms().contains(dtb1
));
153 assertEquals(1, voc1
.size());
154 assertTrue(voc1
.getTerms().contains(dtb2
));
155 voc1
.removeTerm(dtb2
);
156 assertFalse(voc1
.getTerms().contains(dtb2
));
157 assertEquals(0, voc1
.size());
161 public final void testGetTermSourceUri() {
162 assertEquals(null, voc1
.getTermSourceUri());
163 voc2
= new TermVocabulary
<DefinedTermBase
>("term", "label", null, "uri");
164 assertEquals("uri", voc2
.getTermSourceUri());
168 public final void testSetTermSourceUri() {
169 voc1
.setTermSourceUri("uri");
170 assertEquals("uri", voc1
.getTermSourceUri());
174 public final void testGetTermClass() {
175 assertEquals(dtb1
.getClass(), voc1
.getTermClass());
179 public final void testIterator() {
180 Iterator
<DefinedTermBase
> it
= voc1
.iterator();
182 while (it
.hasNext()){
184 assertTrue(voc1
.getTerms().contains(it
.next()));