Project

General

Profile

« Previous | Next » 

Revision d907eaa7

Added by Andreas Kohlbecker almost 13 years ago

modifications in cdmlib for #2206 (modify the means to find images for the data portal)

View differences:

cdmlib-model/src/test/java/eu/etaxonomy/cdm/model/media/MediaTest.java
1 1
// $Id$
2 2
/**
3 3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy 
4
* European Distributed Institute of Taxonomy
5 5
* http://www.e-taxonomy.eu
6
* 
6
*
7 7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8 8
* See LICENSE.TXT at the top of this package for the full license terms.
9 9
*/
......
35 35
 * @version 1.0
36 36
 */
37 37
public class MediaTest {
38
	@SuppressWarnings("unused")
39
	private static final Logger logger = Logger.getLogger(MediaTest.class);
40

  
41
	private Media media1; 
42
	private Team team1;
43
	private MediaRepresentation mediaRepresentation1;
44
	private MediaRepresentation mediaRepresentation2;
45
	private MediaRepresentationPart mediaRepresentationPart1;
46
	private MediaRepresentationPart mediaRepresentationPart2;
47
	private LanguageString languageString1;
48
	private final String germanDescription = "media1Desc2";
49
	private Rights rights1;
50
	private LanguageString languageString2;
51
	private static URI uriString1;
52
	private static URI uriString2;
53
	
54
	/**
55
	 * @throws java.lang.Exception
56
	 */
57
	@BeforeClass
58
	public static void setUpBeforeClass() throws Exception {
59
		DefaultTermInitializer termInitializer = new DefaultTermInitializer();
60
		termInitializer.initialize();
61
		try {
62
			uriString1 = new URI("http://Pathtoimage1/");
63
			uriString2 = new URI("http://Path_to_image_2/");
64
		} catch (Exception e) {
65
			e.printStackTrace();
66
			Assert.fail("Error in URI syntax");
67
		}
68
		
69
	}
70

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

  
78
	/**
79
	 * @throws java.lang.Exception
80
	 */
81
	@Before
82
	public void setUp() throws Exception {
83
		media1 = Media.NewInstance();
84
		team1 = Team.NewInstance();
85
		media1.setArtist(team1);
86
		media1.setMediaCreated(new DateTime(2002, 1,1,0,0,0,0));
87
		languageString1 = LanguageString.NewInstance("media1Desc", Language.DEFAULT());
88
		media1.addDescription(languageString1);
89
		media1.addDescription("media1Desc2", Language.GERMAN());
90
		mediaRepresentation1 = MediaRepresentation.NewInstance();
91
		mediaRepresentation2 = MediaRepresentation.NewInstance();
92
		mediaRepresentation1.setMimeType("MimeType1");
93
		mediaRepresentation2.setMimeType("MimeType1");
94
		mediaRepresentationPart1 = ImageFile.NewInstance(uriString1, 100);
95
		mediaRepresentationPart2 = ImageFile.NewInstance(uriString2, 1000);
96
		((ImageFile) mediaRepresentationPart1).setHeight(100);
97
		((ImageFile) mediaRepresentationPart1).setWidth(100);
98
		
99
		((ImageFile) mediaRepresentationPart2).setHeight(100);
100
		((ImageFile) mediaRepresentationPart2).setWidth(100);
101
		
102
		mediaRepresentation1.addRepresentationPart(mediaRepresentationPart1);
103
		mediaRepresentation2.addRepresentationPart(mediaRepresentationPart2);
104
		media1.addRepresentation(mediaRepresentation1);
105
		media1.addRepresentation(mediaRepresentation2);
106
		rights1 = Rights.NewInstance();
107
		media1.addRights(rights1);
108
		
109
		languageString2 = LanguageString.NewInstance("media1Title", Language.DEFAULT());
110
		media1.putTitle(languageString2);
111
		
112
	}
113

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

  
121
//***************** TESTS *********************************/	
122
	
123
	/**
124
	 * Test method for {@link eu.etaxonomy.cdm.model.media.Media#clone()}.
125
	 */
126
	@Test
127
	public void testClone() {
128
		try {
129
			Media mediaClone = (Media)media1.clone();
130
			Assert.assertSame("Artist must be the same", team1, mediaClone.getArtist());
131
			Assert.assertTrue("Clone must have a default language description", mediaClone.getAllDescriptions().containsKey(Language.DEFAULT()));
132
			Assert.assertSame("Description1 must be the same", languageString1, mediaClone.getAllDescriptions().get(Language.DEFAULT()) );
133
			Assert.assertTrue("Clone must have a german description", mediaClone.getAllDescriptions().containsKey(Language.GERMAN()));
134
			Assert.assertEquals("German description must equal media1Desc2", germanDescription, mediaClone.getAllDescriptions().get(Language.GERMAN()).getText() );
135
			
136
			Assert.assertEquals("Media created year must be 2002", 2002, mediaClone.getMediaCreated().getYear());
137
			Assert.assertEquals("Number of media representations must be 2", 2, mediaClone.getRepresentations().size());
138
			Assert.assertNotSame("Only media representation must not be mediaRepresentation1", mediaRepresentation1, mediaClone.getRepresentations().iterator().next());
139
			Assert.assertEquals("Only meda representation must have same MimeType as mediaRepresentation1", mediaRepresentation1.getMimeType(), mediaClone.getRepresentations().iterator().next().getMimeType());
140
			Assert.assertTrue("Rights must contain rights1", mediaClone.getRights().contains(rights1));
141
		
142
			Assert.assertTrue("Clone must have a default language title", mediaClone.getAllTitles().containsKey(Language.DEFAULT()));
143
			Assert.assertSame("Title must be the same", languageString2, mediaClone.getAllTitles().get(Language.DEFAULT()) );
144
			
145
		} catch (CloneNotSupportedException e) {
146
			Assert.fail("Media must be cloneable");
147
		}
148
		
149
	}
150

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

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

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

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

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

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

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

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

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

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

  
258
	/**
259
	 * Test method for {@link eu.etaxonomy.cdm.model.media.Media#removeDescription(eu.etaxonomy.cdm.model.common.Language)}.
260
	 */
261
	@Test
262
	public void testRemoveDescription() {
263
		Assert.assertEquals("Number of descriptions must be 2", 2, media1.getAllDescriptions().size() );
264
		Assert.assertTrue("Clone must have a default language description", media1.getAllDescriptions().containsKey(Language.DEFAULT()));
265
		Assert.assertSame("Description1 must be the same", languageString1, media1.getAllDescriptions().get(Language.DEFAULT()) );
266
		media1.removeDescription(Language.JAPANESE());
267
		Assert.assertEquals("Number of descriptions must be 2", 2, 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.DEFAULT());
271
		Assert.assertEquals("Number of descriptions must be 1", 1, media1.getAllDescriptions().size() );
272
		media1.removeDescription(Language.GERMAN());
273
		Assert.assertEquals("Number of descriptions must be 0", 0, media1.getAllDescriptions().size() );
274
	}
275
	
276
	@Test
277
	public void testfindBestMatchingRepresentation() {
278
		String[] mimetypes = {".*"};
279
		Assert.assertEquals(mediaRepresentation1, MediaUtils.findBestMatchingRepresentation(media1, 100, 100, 100, mimetypes));
280
		Assert.assertEquals(mediaRepresentation2, MediaUtils.findBestMatchingRepresentation(media1,1000, 100, 100, mimetypes));
281
	
282
	}
38
    @SuppressWarnings("unused")
39
    private static final Logger logger = Logger.getLogger(MediaTest.class);
40

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

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

  
69
    }
70

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

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

  
99
        ((ImageFile) mediaRepresentationPart2).setHeight(100);
100
        ((ImageFile) mediaRepresentationPart2).setWidth(100);
101

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

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

  
112
    }
113

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

  
121
//***************** TESTS *********************************/
122

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

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

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

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

  
149
    }
150

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

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

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

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

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

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

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

  
220
    }
221

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

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

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

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

  
283 276
}

Also available in: Unified diff