Project

General

Profile

Download (3.22 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2021 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
package eu.etaxonomy.cdm.strategy.cache.occurrence;
10

    
11
import java.util.UUID;
12

    
13
import org.junit.Assert;
14
import org.junit.Test;
15

    
16
import eu.etaxonomy.cdm.common.URI;
17
import eu.etaxonomy.cdm.model.agent.Person;
18
import eu.etaxonomy.cdm.model.common.Language;
19
import eu.etaxonomy.cdm.model.media.ImageFile;
20
import eu.etaxonomy.cdm.model.media.Media;
21
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
22
import eu.etaxonomy.cdm.model.occurrence.Collection;
23
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
24
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
25
import eu.etaxonomy.cdm.test.TermTestBase;
26

    
27
/**
28
 * @author a.mueller
29
 * @since 08.01.2021
30
 */
31
public class MediaSpecimenDefaultCacheStrategyTest extends TermTestBase {
32

    
33
    @Test
34
    public void test() {
35
        MediaSpecimen specimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.Media);
36
        specimen.setUuid(UUID.fromString("b5fa679f-12a1-4f47-906a-28b41c90f019"));
37
        MediaSpecimenDefaultCacheStrategy strategy = new MediaSpecimenDefaultCacheStrategy();
38

    
39
        Assert.assertEquals("MediaSpecimen#0<b5fa679f-12a1-4f47-906a-28b41c90f019>", strategy.getTitleCache(specimen));
40

    
41
        Collection collection = Collection.NewInstance();
42
        collection.setCode("B");
43
        specimen.setCollection(collection);
44
        Assert.assertEquals("B", strategy.getTitleCache(specimen));
45

    
46
        specimen.setAccessionNumber("123");
47
        Assert.assertEquals("B 123", strategy.getTitleCache(specimen));
48

    
49
        Media media = Media.NewInstance();
50
        media.putTitle(Language.DEFAULT(), "Media title");
51
        media.setArtist(Person.NewTitledInstance("Artist"));
52
        specimen.setMediaSpecimen(media);
53
        Assert.assertEquals("B 123 (Media title)", strategy.getTitleCache(specimen));
54
        specimen.getMediaSpecimen().putTitle(Language.DEFAULT(), "Media Second Title");
55
        //#9632
56
        Assert.assertEquals("B 123 (Media Second Title)", strategy.getTitleCache(specimen));
57

    
58

    
59
        specimen.getMediaSpecimen().setArtist(Person.NewTitledInstance("Artist 2"));;
60
        Assert.assertEquals("B 123 (Media Second Title)", strategy.getTitleCache(specimen));
61

    
62
        //remove collection and accession number
63
        specimen.setCollection(null);
64
        specimen.setAccessionNumber(null);
65
        Assert.assertEquals("Media Second Title", strategy.getTitleCache(specimen));
66

    
67
        //remove title
68
        media.putTitle(Language.DEFAULT(), null);
69
        Assert.assertEquals("Artist 2", strategy.getTitleCache(specimen));
70
        //remove artist
71
        media.setArtist(null);
72
        Assert.assertEquals("MediaSpecimen#0<b5fa679f-12a1-4f47-906a-28b41c90f019>", strategy.getTitleCache(specimen));
73

    
74
        MediaRepresentation mediaRep = MediaRepresentation.NewInstance("jpg", null, URI.create("https://www.abc.de/test.jpg"), 20, ImageFile.class);
75
        media.addRepresentation(mediaRep);
76
        Assert.assertEquals("test", strategy.getTitleCache(specimen));
77

    
78
        Assert.assertNull(strategy.getTitleCache(null));
79
    }
80
}
(2-2/2)