View Javadoc

1   package org.cateproject.service.enumeration;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertNotNull;
5   import static org.junit.Assert.fail;
6   
7   import java.util.HashSet;
8   import java.util.Set;
9   import java.util.UUID;
10  
11  import org.cateproject.service.enumeration.impl.NamedAreaLevelsFactory;
12  import org.easymock.EasyMock;
13  import org.junit.Before;
14  import org.junit.Ignore;
15  import org.junit.Test;
16  import org.springframework.transaction.PlatformTransactionManager;
17  import org.springframework.transaction.TransactionStatus;
18  import org.springframework.transaction.support.DefaultTransactionDefinition;
19  import org.springframework.transaction.support.SimpleTransactionStatus;
20  import org.unitils.easymock.annotation.Mock;
21  import org.unitils.inject.annotation.InjectInto;
22  import org.unitils.inject.annotation.TestedObject;
23  
24  import eu.etaxonomy.cdm.model.common.TermVocabulary;
25  import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
26  import eu.etaxonomy.cdm.persistence.dao.common.ITermVocabularyDao;
27  import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;
28  
29  @Ignore
30  public class NamedAreaLevelsFactoryTest extends CdmIntegrationTest {
31      
32  	@Mock 
33  	@InjectInto(property="termVocabularyDao")
34  	private ITermVocabularyDao termVocabularyDao;
35  	
36  	@Mock 
37  	@InjectInto(property="transactionManager")
38  	private PlatformTransactionManager transactionManager;
39  	
40  	@TestedObject
41  	private NamedAreaLevelsFactory namedAreaLevelsFactory;
42  	
43  	private TermVocabulary<NamedAreaLevel> vocabulary;
44  	
45  	private NamedAreaLevel continent;
46  	
47  	private NamedAreaLevel region;
48  	
49  	private NamedAreaLevel country; 
50  	
51  	private TransactionStatus txStatus;
52  	
53  	@Before
54  	public void setUp() {
55  		termVocabularyDao = EasyMock.createMock(ITermVocabularyDao.class);
56  		transactionManager = EasyMock.createMock(PlatformTransactionManager.class);
57  		namedAreaLevelsFactory = new NamedAreaLevelsFactory();
58  		Set<NamedAreaLevel> terms = new HashSet<NamedAreaLevel>();
59  		continent = new NamedAreaLevel();
60  		continent.setUuid(UUID.fromString("0F5AA87B-9FA8-1014-BBAE-D278B2177AB6"));
61  		
62  		region = new NamedAreaLevel();
63  		region.setUuid(UUID.fromString("0F535531-9FA8-1014-BBAE-D278B2177AB6"));
64  		txStatus = new SimpleTransactionStatus();
65  		
66  		country = new NamedAreaLevel();
67  		country.setUuid(UUID.fromString("0F5BC15B-9FA8-1014-BBAE-D278B2177AB6"));
68  		vocabulary = new TermVocabulary<NamedAreaLevel>();
69  		vocabulary.addTerm(continent);
70  		vocabulary.addTerm(region);
71  		vocabulary.addTerm(country);
72  	}
73  	
74  	@Test
75  	public void testInit() {
76  		EasyMock.expect(termVocabularyDao.findByUri(EasyMock.eq(NamedAreaLevelsFactory.ENUM_URI), EasyMock.eq(NamedAreaLevel.class))).andReturn(vocabulary);
77  		EasyMock.expect(transactionManager.getTransaction(EasyMock.isA(DefaultTransactionDefinition.class))).andReturn(txStatus);
78  		transactionManager.commit(txStatus);
79  		EasyMock.replay(termVocabularyDao,transactionManager);
80  		
81  		NamedAreaLevels namedAreaLevels = null;
82  		
83  		try {
84  		    namedAreaLevels = (NamedAreaLevels)namedAreaLevelsFactory.getObject();
85  		} catch(Exception e) {
86  			fail("No Exception expected here");
87  		}
88  		
89  		EasyMock.verify(termVocabularyDao,transactionManager);
90  		
91  		assertNotNull("NamedAreaLevelsFactory.getObject should return a NamedAreaLevels",namedAreaLevels);
92  		assertNotNull("NamedAreaLevels.CONTINENT() should not be null",namedAreaLevels.CONTINENT());
93  		assertEquals("NamedAreaLevels.CONTINENT() should be the expected NamedAreaLevel",continent,namedAreaLevels.CONTINENT());
94  		assertNotNull("NamedAreaLevels.COUNTRY() should not be null",namedAreaLevels.COUNTRY());
95  		assertEquals("NamedAreaLevels.COUNTRY() should be the expected NamedAreaLevel",country,namedAreaLevels.COUNTRY());
96  		assertNotNull("NamedAreaLevels.REGION() should not be null",namedAreaLevels.REGION());
97  		assertEquals("NamedAreaLevels.REGION() should be the expected NamedAreaLevel",region,namedAreaLevels.REGION());
98  	}
99  	
100 }