Project

General

Profile

« Previous | Next » 

Revision b5e1bdbb

Added by Andreas Müller over 7 years ago

Adapt reusability of Credits / Rights

View differences:

cdmlib-model/src/test/java/eu/etaxonomy/cdm/model/media/MediaTest.java
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

  
11
package eu.etaxonomy.cdm.model.media;
12

  
13
import java.net.URI;
14

  
15
import org.junit.Assert;
16

  
17
import org.apache.log4j.Logger;
18
import org.joda.time.DateTime;
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;
24

  
25
import eu.etaxonomy.cdm.model.agent.Team;
26
import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;
27
import eu.etaxonomy.cdm.model.common.Language;
28
import eu.etaxonomy.cdm.model.common.LanguageString;
29

  
30
/**
31
 * @author a.mueller
32
 * @created 05.08.2009
33
 * @version 1.0
34
 */
35
public class MediaTest {
36
    @SuppressWarnings("unused")
37
    private static final Logger logger = Logger.getLogger(MediaTest.class);
38

  
39
    private Media media1;
40
    private Team team1;
41
    private MediaRepresentation mediaRepresentation1;
42
    private MediaRepresentation mediaRepresentation2;
43
    private MediaRepresentationPart mediaRepresentationPart1;
44
    private MediaRepresentationPart mediaRepresentationPart2;
45
    private LanguageString languageString1;
46
    private final String germanDescription = "media1Desc2";
47
    private Rights rights1;
48
    private LanguageString languageString2;
49
    private static URI uriString1;
50
    private static URI uriString2;
51

  
52
    /**
53
     * @throws java.lang.Exception
54
     */
55
    @BeforeClass
56
    public static void setUpBeforeClass() throws Exception {
57
        DefaultTermInitializer termInitializer = new DefaultTermInitializer();
58
        termInitializer.initialize();
59
        try {
60
            uriString1 = new URI("http://Pathtoimage1/");
61
            uriString2 = new URI("http://Path_to_image_2/");
62
        } catch (Exception e) {
63
            e.printStackTrace();
64
            Assert.fail("Error in URI syntax");
65
        }
66

  
67
    }
68

  
69
    /**
70
     * @throws java.lang.Exception
71
     */
72
    @AfterClass
73
    public static void tearDownAfterClass() throws Exception {
74
    }
75

  
76
    /**
77
     * @throws java.lang.Exception
78
     */
79
    @Before
80
    public void setUp() throws Exception {
81
        media1 = Media.NewInstance();
82
        team1 = Team.NewInstance();
83
        media1.setArtist(team1);
84
        media1.setMediaCreated(new DateTime(2002, 1,1,0,0,0,0));
85
        languageString1 = LanguageString.NewInstance("media1Desc", Language.DEFAULT());
86
        media1.addDescription(languageString1);
87
        media1.putDescription(Language.GERMAN(), "media1Desc2");
88
        mediaRepresentation1 = MediaRepresentation.NewInstance();
89
        mediaRepresentation2 = MediaRepresentation.NewInstance();
90
        mediaRepresentation1.setMimeType("MimeType1");
91
        mediaRepresentation2.setMimeType("MimeType1");
92
        mediaRepresentationPart1 = ImageFile.NewInstance(uriString1, 100);
93
        mediaRepresentationPart2 = ImageFile.NewInstance(uriString2, 1000);
94
        ((ImageFile) mediaRepresentationPart1).setHeight(100);
95
        ((ImageFile) mediaRepresentationPart1).setWidth(100);
96

  
97
        ((ImageFile) mediaRepresentationPart2).setHeight(100);
98
        ((ImageFile) mediaRepresentationPart2).setWidth(100);
99

  
100
        mediaRepresentation1.addRepresentationPart(mediaRepresentationPart1);
101
        mediaRepresentation2.addRepresentationPart(mediaRepresentationPart2);
102
        media1.addRepresentation(mediaRepresentation1);
103
        media1.addRepresentation(mediaRepresentation2);
104
        rights1 = Rights.NewInstance();
105
        media1.addRights(rights1);
106

  
107
        languageString2 = LanguageString.NewInstance("media1Title", Language.DEFAULT());
108
        media1.putTitle(languageString2);
109

  
110
    }
111

  
112
    /**
113
     * @throws java.lang.Exception
114
     */
115
    @After
116
    public void tearDown() throws Exception {
117
    }
118

  
119
//***************** TESTS *********************************/
120

  
121
    /**
122
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#clone()}.
123
     */
124
    @Test
125
    public void testClone() {
126
        try {
127
            Media mediaClone = (Media)media1.clone();
128
            Assert.assertSame("Artist must be the same", team1, mediaClone.getArtist());
129
            Assert.assertTrue("Clone must have a default language description", mediaClone.getAllDescriptions().containsKey(Language.DEFAULT()));
130
            Assert.assertSame("Description1 must be the same", languageString1, mediaClone.getAllDescriptions().get(Language.DEFAULT()) );
131
            Assert.assertTrue("Clone must have a german description", mediaClone.getAllDescriptions().containsKey(Language.GERMAN()));
132
            Assert.assertEquals("German description must equal media1Desc2", germanDescription, mediaClone.getAllDescriptions().get(Language.GERMAN()).getText() );
133

  
134
            Assert.assertEquals("Media created year must be 2002", 2002, mediaClone.getMediaCreated().getYear());
135
            Assert.assertEquals("Number of media representations must be 2", 2, mediaClone.getRepresentations().size());
136
            Assert.assertNotSame("Only media representation must not be mediaRepresentation1", mediaRepresentation1, mediaClone.getRepresentations().iterator().next());
137
            Assert.assertEquals("Only meda representation must have same MimeType as mediaRepresentation1", mediaRepresentation1.getMimeType(), mediaClone.getRepresentations().iterator().next().getMimeType());
138
            Assert.assertTrue("Rights must contain rights1", mediaClone.getRights().contains(rights1));
139

  
140
            Assert.assertTrue("Clone must have a default language title", mediaClone.getAllTitles().containsKey(Language.DEFAULT()));
141
            Assert.assertSame("Title must be the same", languageString2, mediaClone.getAllTitles().get(Language.DEFAULT()) );
142

  
143
        } catch (CloneNotSupportedException e) {
144
            Assert.fail("Media must be cloneable");
145
        }
146

  
147
    }
148

  
149
    /**
150
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addRepresentation(eu.etaxonomy.cdm.model.media.MediaRepresentation)}.
151
     */
152
    @Test
153
    public void testAddRepresentation() {
154
        Assert.assertTrue("Representations must contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
155
    }
156

  
157
    /**
158
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeRepresentation(eu.etaxonomy.cdm.model.media.MediaRepresentation)}.
159
     */
160
    @Test
161
    public void testRemoveRepresentation() {
162
        Assert.assertTrue("Representations must contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
163
        media1.removeRepresentation(mediaRepresentation1);
164
        Assert.assertFalse("Representations must not contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
165
        Assert.assertEquals("Number of representations must be 1", 1, media1.getRepresentations().size());
166
        media1.removeRepresentation(mediaRepresentation2);
167
        Assert.assertFalse("Representations must not contain mediaRepresentation2", media1.getRepresentations().contains(mediaRepresentation2));
168
        Assert.assertEquals("Number of representations must be 0", 0, media1.getRepresentations().size());
169
    }
170

  
171
    /**
172
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addRights(eu.etaxonomy.cdm.model.media.Rights)}.
173
     */
174
    @Test
175
    public void testAddRights() {
176
        Assert.assertTrue("Rights must contain rights1", media1.getRights().contains(rights1));
177
    }
178

  
179
    /**
180
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeRights(eu.etaxonomy.cdm.model.media.Rights)}.
181
     */
182
    @Test
183
    public void testRemoveRights() {
184
        Assert.assertTrue("Rights must contain rights1", media1.getRights().contains(rights1));
185
        media1.removeRights(rights1);
186
        Assert.assertFalse("Rights must not contain rights1", media1.getRights().contains(rights1));
187
        Assert.assertEquals("Number of rights must be 0", 0, media1.getRights().size());
188
    }
189

  
190
    /**
191
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addTitle(eu.etaxonomy.cdm.model.common.LanguageString)}.
192
     */
193
    @Test
194
    public void testAddTitle() {
195
        Assert.assertSame("Title must be the same", languageString2, media1.getAllTitles().get(Language.DEFAULT()) );
196
    }
197

  
198
    /**
199
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeTitle(eu.etaxonomy.cdm.model.common.Language)}.
200
     */
201
    @Test
202
    public void testRemoveTitle() {
203
        Assert.assertSame("Title must be the same", languageString2, media1.getAllTitles().get(Language.DEFAULT()) );
204
        media1.removeTitle(Language.GERMAN());
205
        Assert.assertEquals("Number of titles must be 1", 1, media1.getAllTitles().size());
206
        media1.removeTitle(Language.DEFAULT());
207
        Assert.assertEquals("Number of titles must be 0", 0, media1.getAllTitles().size());
208
        Assert.assertFalse("Title must not contain languageString2", languageString2.equals(media1.getAllTitles().get(Language.DEFAULT())));
209
    }
210

  
211
    /**
212
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#getMediaCreated()}.
213
     */
214
    @Test
215
    public void testGetMediaCreated() {
216
        Assert.assertEquals("Media created year must be 2002", 2002, media1.getMediaCreated().getYear());
217

  
218
    }
219

  
220
    /**
221
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#getDescription()}.
222
     */
223
    @Test
224
    public void testGetDescription() {
225
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
226
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
227
    }
228

  
229
    /**
230
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addDescription(eu.etaxonomy.cdm.model.common.LanguageString)}.
231
     */
232
    @Test
233
    public void testAddDescriptionLanguageString() {
234
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
235
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
236
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
237
        media1.addDescription(languageString2);
238
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
239
        Assert.assertEquals("Default language description must be languageString2", languageString2, media1.getAllDescriptions().get(Language.DEFAULT()) );
240
    }
241

  
242
    /**
243
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addDescription(java.lang.String, eu.etaxonomy.cdm.model.common.Language)}.
244
     */
245
    @Test
246
    public void testAddDescriptionStringLanguage() {
247
        Assert.assertTrue("Clone must have a german language description", media1.getAllDescriptions().containsKey(Language.GERMAN()));
248
        Assert.assertSame("Description1 must be the same", "media1Desc2", media1.getAllDescriptions().get(Language.GERMAN()).getText() );
249
        media1.putDescription(Language.DEFAULT(), "testDesc");
250
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
251
        media1.putDescription(Language.DEFAULT(), "testDesc2");
252
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
253
        Assert.assertSame("Default language description must be 'testDesc2'", "testDesc2", media1.getAllDescriptions().get(Language.DEFAULT()).getText() );
254
    }
255

  
256
    /**
257
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeDescription(eu.etaxonomy.cdm.model.common.Language)}.
258
     */
259
    @Test
260
    public void testRemoveDescription() {
261
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
262
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
263
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
264
        media1.removeDescription(Language.JAPANESE());
265
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
266
        media1.removeDescription(Language.DEFAULT());
267
        Assert.assertEquals("Number of descriptions must be 1", 1, media1.getAllDescriptions().size() );
268
        media1.removeDescription(Language.DEFAULT());
269
        Assert.assertEquals("Number of descriptions must be 1", 1, media1.getAllDescriptions().size() );
270
        media1.removeDescription(Language.GERMAN());
271
        Assert.assertEquals("Number of descriptions must be 0", 0, media1.getAllDescriptions().size() );
272
    }
273

  
274
}
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

  
11
package eu.etaxonomy.cdm.model.media;
12

  
13
import java.net.URI;
14

  
15
import org.apache.log4j.Logger;
16
import org.joda.time.DateTime;
17
import org.junit.After;
18
import org.junit.AfterClass;
19
import org.junit.Assert;
20
import org.junit.Before;
21
import org.junit.BeforeClass;
22
import org.junit.Test;
23

  
24
import eu.etaxonomy.cdm.model.agent.Team;
25
import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;
26
import eu.etaxonomy.cdm.model.common.Language;
27
import eu.etaxonomy.cdm.model.common.LanguageString;
28

  
29
/**
30
 * @author a.mueller
31
 * @created 05.08.2009
32
 * @version 1.0
33
 */
34
public class MediaTest {
35
    @SuppressWarnings("unused")
36
    private static final Logger logger = Logger.getLogger(MediaTest.class);
37

  
38
    private Media media1;
39
    private Team team1;
40
    private MediaRepresentation mediaRepresentation1;
41
    private MediaRepresentation mediaRepresentation2;
42
    private MediaRepresentationPart mediaRepresentationPart1;
43
    private MediaRepresentationPart mediaRepresentationPart2;
44
    private LanguageString languageString1;
45
    private final String germanDescription = "media1Desc2";
46
    private Rights rights1;
47
    private LanguageString languageString2;
48
    private static URI uriString1;
49
    private static URI uriString2;
50

  
51
    /**
52
     * @throws java.lang.Exception
53
     */
54
    @BeforeClass
55
    public static void setUpBeforeClass() throws Exception {
56
        DefaultTermInitializer termInitializer = new DefaultTermInitializer();
57
        termInitializer.initialize();
58
        try {
59
            uriString1 = new URI("http://Pathtoimage1/");
60
            uriString2 = new URI("http://Path_to_image_2/");
61
        } catch (Exception e) {
62
            e.printStackTrace();
63
            Assert.fail("Error in URI syntax");
64
        }
65

  
66
    }
67

  
68
    /**
69
     * @throws java.lang.Exception
70
     */
71
    @AfterClass
72
    public static void tearDownAfterClass() throws Exception {
73
    }
74

  
75
    /**
76
     * @throws java.lang.Exception
77
     */
78
    @Before
79
    public void setUp() throws Exception {
80
        media1 = Media.NewInstance();
81
        team1 = Team.NewInstance();
82
        media1.setArtist(team1);
83
        media1.setMediaCreated(new DateTime(2002, 1,1,0,0,0,0));
84
        languageString1 = LanguageString.NewInstance("media1Desc", Language.DEFAULT());
85
        media1.addDescription(languageString1);
86
        media1.putDescription(Language.GERMAN(), "media1Desc2");
87
        mediaRepresentation1 = MediaRepresentation.NewInstance();
88
        mediaRepresentation2 = MediaRepresentation.NewInstance();
89
        mediaRepresentation1.setMimeType("MimeType1");
90
        mediaRepresentation2.setMimeType("MimeType1");
91
        mediaRepresentationPart1 = ImageFile.NewInstance(uriString1, 100);
92
        mediaRepresentationPart2 = ImageFile.NewInstance(uriString2, 1000);
93
        ((ImageFile) mediaRepresentationPart1).setHeight(100);
94
        ((ImageFile) mediaRepresentationPart1).setWidth(100);
95

  
96
        ((ImageFile) mediaRepresentationPart2).setHeight(100);
97
        ((ImageFile) mediaRepresentationPart2).setWidth(100);
98

  
99
        mediaRepresentation1.addRepresentationPart(mediaRepresentationPart1);
100
        mediaRepresentation2.addRepresentationPart(mediaRepresentationPart2);
101
        media1.addRepresentation(mediaRepresentation1);
102
        media1.addRepresentation(mediaRepresentation2);
103
        rights1 = Rights.NewInstance();
104
        media1.addRights(rights1);
105

  
106
        languageString2 = LanguageString.NewInstance("media1Title", Language.DEFAULT());
107
        media1.putTitle(languageString2);
108

  
109
    }
110

  
111
    /**
112
     * @throws java.lang.Exception
113
     */
114
    @After
115
    public void tearDown() throws Exception {
116
    }
117

  
118
//***************** TESTS *********************************/
119

  
120
    /**
121
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#clone()}.
122
     */
123
    @Test
124
    public void testClone() {
125
        try {
126
            Media mediaClone = (Media)media1.clone();
127
            Assert.assertSame("Artist must be the same", team1, mediaClone.getArtist());
128
            Assert.assertTrue("Clone must have a default language description", mediaClone.getAllDescriptions().containsKey(Language.DEFAULT()));
129
            Assert.assertSame("Description1 must be the same", languageString1, mediaClone.getAllDescriptions().get(Language.DEFAULT()) );
130
            Assert.assertTrue("Clone must have a german description", mediaClone.getAllDescriptions().containsKey(Language.GERMAN()));
131
            Assert.assertEquals("German description must equal media1Desc2", germanDescription, mediaClone.getAllDescriptions().get(Language.GERMAN()).getText() );
132

  
133
            Assert.assertEquals("Media created year must be 2002", 2002, mediaClone.getMediaCreated().getYear());
134
            Assert.assertEquals("Number of media representations must be 2", 2, mediaClone.getRepresentations().size());
135
            Assert.assertNotSame("Only media representation must not be mediaRepresentation1", mediaRepresentation1, mediaClone.getRepresentations().iterator().next());
136
            Assert.assertEquals("Only meda representation must have same MimeType as mediaRepresentation1", mediaRepresentation1.getMimeType(), mediaClone.getRepresentations().iterator().next().getMimeType());
137

  
138
//            #5762
139
//            Assert.assertTrue("Rights must contain rights1", mediaClone.getRights().contains(rights1));
140
            Assert.assertTrue("Rights must contain 1 rights object", mediaClone.getRights().size() == 1);
141
            Assert.assertFalse("Rights must be coloned", mediaClone.getRights().iterator().next().equals(rights1));
142

  
143
            Assert.assertTrue("Clone must have a default language title", mediaClone.getAllTitles().containsKey(Language.DEFAULT()));
144
            Assert.assertSame("Title must be the same", languageString2, mediaClone.getAllTitles().get(Language.DEFAULT()) );
145

  
146
        } catch (CloneNotSupportedException e) {
147
            Assert.fail("Media must be cloneable");
148
        }
149

  
150
    }
151

  
152
    /**
153
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addRepresentation(eu.etaxonomy.cdm.model.media.MediaRepresentation)}.
154
     */
155
    @Test
156
    public void testAddRepresentation() {
157
        Assert.assertTrue("Representations must contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
158
    }
159

  
160
    /**
161
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeRepresentation(eu.etaxonomy.cdm.model.media.MediaRepresentation)}.
162
     */
163
    @Test
164
    public void testRemoveRepresentation() {
165
        Assert.assertTrue("Representations must contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
166
        media1.removeRepresentation(mediaRepresentation1);
167
        Assert.assertFalse("Representations must not contain mediaRepresentation1", media1.getRepresentations().contains(mediaRepresentation1));
168
        Assert.assertEquals("Number of representations must be 1", 1, media1.getRepresentations().size());
169
        media1.removeRepresentation(mediaRepresentation2);
170
        Assert.assertFalse("Representations must not contain mediaRepresentation2", media1.getRepresentations().contains(mediaRepresentation2));
171
        Assert.assertEquals("Number of representations must be 0", 0, media1.getRepresentations().size());
172
    }
173

  
174
    /**
175
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addRights(eu.etaxonomy.cdm.model.media.Rights)}.
176
     */
177
    @Test
178
    public void testAddRights() {
179
        Assert.assertTrue("Rights must contain rights1", media1.getRights().contains(rights1));
180
    }
181

  
182
    /**
183
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeRights(eu.etaxonomy.cdm.model.media.Rights)}.
184
     */
185
    @Test
186
    public void testRemoveRights() {
187
        Assert.assertTrue("Rights must contain rights1", media1.getRights().contains(rights1));
188
        media1.removeRights(rights1);
189
        Assert.assertFalse("Rights must not contain rights1", media1.getRights().contains(rights1));
190
        Assert.assertEquals("Number of rights must be 0", 0, media1.getRights().size());
191
    }
192

  
193
    /**
194
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addTitle(eu.etaxonomy.cdm.model.common.LanguageString)}.
195
     */
196
    @Test
197
    public void testAddTitle() {
198
        Assert.assertSame("Title must be the same", languageString2, media1.getAllTitles().get(Language.DEFAULT()) );
199
    }
200

  
201
    /**
202
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeTitle(eu.etaxonomy.cdm.model.common.Language)}.
203
     */
204
    @Test
205
    public void testRemoveTitle() {
206
        Assert.assertSame("Title must be the same", languageString2, media1.getAllTitles().get(Language.DEFAULT()) );
207
        media1.removeTitle(Language.GERMAN());
208
        Assert.assertEquals("Number of titles must be 1", 1, media1.getAllTitles().size());
209
        media1.removeTitle(Language.DEFAULT());
210
        Assert.assertEquals("Number of titles must be 0", 0, media1.getAllTitles().size());
211
        Assert.assertFalse("Title must not contain languageString2", languageString2.equals(media1.getAllTitles().get(Language.DEFAULT())));
212
    }
213

  
214
    /**
215
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#getMediaCreated()}.
216
     */
217
    @Test
218
    public void testGetMediaCreated() {
219
        Assert.assertEquals("Media created year must be 2002", 2002, media1.getMediaCreated().getYear());
220

  
221
    }
222

  
223
    /**
224
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#getDescription()}.
225
     */
226
    @Test
227
    public void testGetDescription() {
228
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
229
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
230
    }
231

  
232
    /**
233
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addDescription(eu.etaxonomy.cdm.model.common.LanguageString)}.
234
     */
235
    @Test
236
    public void testAddDescriptionLanguageString() {
237
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
238
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
239
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
240
        media1.addDescription(languageString2);
241
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
242
        Assert.assertEquals("Default language description must be languageString2", languageString2, media1.getAllDescriptions().get(Language.DEFAULT()) );
243
    }
244

  
245
    /**
246
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#addDescription(java.lang.String, eu.etaxonomy.cdm.model.common.Language)}.
247
     */
248
    @Test
249
    public void testAddDescriptionStringLanguage() {
250
        Assert.assertTrue("Clone must have a german language description", media1.getAllDescriptions().containsKey(Language.GERMAN()));
251
        Assert.assertSame("Description1 must be the same", "media1Desc2", media1.getAllDescriptions().get(Language.GERMAN()).getText() );
252
        media1.putDescription(Language.DEFAULT(), "testDesc");
253
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
254
        media1.putDescription(Language.DEFAULT(), "testDesc2");
255
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
256
        Assert.assertSame("Default language description must be 'testDesc2'", "testDesc2", media1.getAllDescriptions().get(Language.DEFAULT()).getText() );
257
    }
258

  
259
    /**
260
     * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeDescription(eu.etaxonomy.cdm.model.common.Language)}.
261
     */
262
    @Test
263
    public void testRemoveDescription() {
264
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
265
        Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
266
        Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
267
        media1.removeDescription(Language.JAPANESE());
268
        Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
269
        media1.removeDescription(Language.DEFAULT());
270
        Assert.assertEquals("Number of descriptions must be 1", 1, media1.getAllDescriptions().size() );
271
        media1.removeDescription(Language.DEFAULT());
272
        Assert.assertEquals("Number of descriptions must be 1", 1, media1.getAllDescriptions().size() );
273
        media1.removeDescription(Language.GERMAN());
274
        Assert.assertEquals("Number of descriptions must be 0", 0, media1.getAllDescriptions().size() );
275
    }
276

  
277
}
cdmlib-model/src/test/java/eu/etaxonomy/cdm/model/occurrence/SpecimenTest.java
348 348
		assertEquals(1, specimenClone.getMarkers().size());
349 349

  
350 350
//		assertEquals(media, specimenClone.getMedia().iterator().next());  #3597
351
		assertEquals(right, specimenClone.getRights().iterator().next());
351
//		assertEquals(right, specimenClone.getRights().iterator().next()); #5762
352
		assertTrue("Rights must contain 1 rights object", specimenClone.getRights().size() == 1);
353
        assertFalse("Rights must be coloned", specimenClone.getRights().iterator().next().equals(right));
352 354

  
353 355
		assertFalse(source.equals(specimenClone.getSources().iterator().next()));
354 356
		assertEquals(source.getId(), ((OriginalSourceBase)specimenClone.getSources().iterator().next()).getId());
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/DeduplicationHelper.java
391 391
	 * @param cdmBase2
392 392
	 * @param session
393 393
	 */
394
	//TODO Why do we not handle credits (credits are reusable), rights and sources here
394
	//TODO Why do we not handle credits, rights and sources here
395 395
	private <T> void copyIdentifiableExtensions(T cdmBase1, T cdmBase2,
396 396
			Session session) {
397 397
		IdentifiableEntity identifiableEntity1 = (IdentifiableEntity)cdmBase1;

Also available in: Unified diff