minor
[cdmlib.git] / cdmlib-model / src / test / java / eu / etaxonomy / cdm / model / name / NonViralNameTest.java
index 730fa6b9f2355b9824c69486e03cce6142f2900c..522a40330c5d4396e47b9514c53a186b43d965c3 100644 (file)
@@ -1,19 +1,29 @@
 /**\r
- * \r
- */\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
\r
 package eu.etaxonomy.cdm.model.name;\r
 \r
-import static org.junit.Assert.*;\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+import junit.framework.Assert;\r
 \r
 import org.apache.log4j.Logger;\r
 import org.junit.After;\r
-import org.junit.AfterClass;\r
 import org.junit.Before;\r
 import org.junit.BeforeClass;\r
-import org.junit.Ignore;\r
 import org.junit.Test;\r
 \r
 import eu.etaxonomy.cdm.model.agent.Team;\r
+import eu.etaxonomy.cdm.model.common.DefaultTermInitializer;\r
+import eu.etaxonomy.cdm.model.reference.Article;\r
+import eu.etaxonomy.cdm.model.reference.Generic;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.test.unit.EntityTestBase;\r
 \r
 /**\r
@@ -24,21 +34,13 @@ public class NonViralNameTest extends EntityTestBase {
        private static Logger logger = Logger.getLogger(NonViralNameTest.class);\r
 \r
        \r
-       NonViralName<NonViralName> nonViralName1;\r
-       NonViralName<NonViralName> nonViralName2;\r
+       NonViralName<?> nonViralName1;\r
+       NonViralName<?> nonViralName2;\r
        \r
-       /**\r
-        * @throws java.lang.Exception\r
-        */\r
        @BeforeClass\r
-       public static void setUpBeforeClass() throws Exception {\r
-       }\r
-\r
-       /**\r
-        * @throws java.lang.Exception\r
-        */\r
-       @AfterClass\r
-       public static void tearDownAfterClass() throws Exception {\r
+       public static void setUpBeforeClass() {\r
+               DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();\r
+               vocabularyStore.initialize();\r
        }\r
 \r
        /**\r
@@ -46,8 +48,8 @@ public class NonViralNameTest extends EntityTestBase {
         */\r
        @Before\r
        public void setUp() throws Exception {\r
-               nonViralName1 = new NonViralName<NonViralName>();\r
-               nonViralName2 = new NonViralName<NonViralName>();\r
+               nonViralName1 = new BotanicalName();\r
+               nonViralName2 = new BotanicalName();\r
        }\r
 \r
        /**\r
@@ -85,7 +87,7 @@ public class NonViralNameTest extends EntityTestBase {
         */\r
        @Test\r
        public final void testNonViralName() {\r
-               logger.warn("Not yet implemented"); // TODO\r
+               assertNotNull(nonViralName1);\r
        }\r
 \r
        /**\r
@@ -93,7 +95,8 @@ public class NonViralNameTest extends EntityTestBase {
         */\r
        @Test\r
        public final void testNonViralNameRank() {\r
-               logger.warn("Not yet implemented"); // TODO\r
+               NonViralName<?> nonViralName = NonViralName.NewInstance(Rank.GENUS());\r
+               assertNotNull(nonViralName);\r
        }\r
 \r
        /**\r
@@ -101,7 +104,17 @@ public class NonViralNameTest extends EntityTestBase {
         */\r
        @Test\r
        public final void testNonViralNameRankStringStringStringAgentINomenclaturalReferenceString() {\r
-               logger.warn("Not yet implemented"); // TODO\r
+               Team agent = Team.NewInstance();\r
+               Article article = Article.NewInstance();\r
+               HomotypicalGroup homotypicalGroup = HomotypicalGroup.NewInstance();\r
+               NonViralName<?> nonViralName = new NonViralName(Rank.GENUS(), "Genus", "infraGen", "species", "infraSpec", agent, article, "mikro", homotypicalGroup);\r
+               assertEquals("Genus", nonViralName.getGenusOrUninomial() );\r
+               assertEquals("infraGen", nonViralName.getInfraGenericEpithet());\r
+               assertEquals("species", nonViralName.getSpecificEpithet() );\r
+               assertEquals("infraSpec", nonViralName.getInfraSpecificEpithet());\r
+               assertEquals(agent, nonViralName.getCombinationAuthorTeam() );\r
+               assertEquals(article, nonViralName.getNomenclaturalReference() );\r
+               assertEquals("mikro", nonViralName.getNomenclaturalMicroReference() );\r
        }\r
 \r
        /**\r
@@ -110,7 +123,7 @@ public class NonViralNameTest extends EntityTestBase {
         */\r
        @Test\r
        public final void testGetSetCombinationAuthorTeam() {\r
-               Team team1 = new Team();\r
+               Team team1 = Team.NewInstance();\r
                nonViralName1.setCombinationAuthorTeam(team1);\r
                assertEquals(team1, nonViralName1.getCombinationAuthorTeam());\r
                nonViralName1.setCombinationAuthorTeam(null);\r
@@ -119,19 +132,13 @@ public class NonViralNameTest extends EntityTestBase {
                assertEquals(null, nonViralName2.getCombinationAuthorTeam());\r
        }\r
 \r
-       /**\r
-        */\r
-       @Test\r
-       public final void testSetCombinationAuthorTeam() {\r
-               logger.warn("Not yet implemented"); // TODO\r
-       }\r
 \r
        /**\r
         * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#getExCombinationAuthorTeam()}.\r
         */\r
        @Test\r
        public final void testGetSetExCombinationAuthorTeam() {\r
-               Team team1 = new Team();\r
+               Team team1 = Team.NewInstance();\r
                nonViralName1.setExCombinationAuthorTeam(team1);\r
                assertEquals(team1, nonViralName1.getExCombinationAuthorTeam());\r
                nonViralName1.setExCombinationAuthorTeam(null);\r
@@ -139,6 +146,37 @@ public class NonViralNameTest extends EntityTestBase {
                nonViralName2.setExCombinationAuthorTeam(null);\r
                assertEquals(null, nonViralName2.getExCombinationAuthorTeam());\r
        }\r
+       \r
+\r
+       /**\r
+        * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#getCombinationAuthorTeam()}.\r
+        * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#setCombinationAuthorTeam(eu.etaxonomy.cdm.model.agent.Agent)}.\r
+        */\r
+       @Test\r
+       public final void testGetSetBasionymAuthorTeam() {\r
+               Team team1 = Team.NewInstance();\r
+               nonViralName1.setBasionymAuthorTeam(team1);\r
+               assertEquals(team1, nonViralName1.getBasionymAuthorTeam());\r
+               nonViralName1.setBasionymAuthorTeam(null);\r
+               assertEquals(null, nonViralName1.getBasionymAuthorTeam());\r
+               nonViralName2.setBasionymAuthorTeam(null);\r
+               assertEquals(null, nonViralName2.getBasionymAuthorTeam());\r
+       }\r
+\r
+\r
+       /**\r
+        * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#getExCombinationAuthorTeam()}.\r
+        */\r
+       @Test\r
+       public final void testGetSetExBasionymAuthorTeam() {\r
+               Team team1 = Team.NewInstance();\r
+               nonViralName1.setExBasionymAuthorTeam(team1);\r
+               assertEquals(team1, nonViralName1.getExBasionymAuthorTeam());\r
+               nonViralName1.setExBasionymAuthorTeam(null);\r
+               assertEquals(null, nonViralName1.getExBasionymAuthorTeam());\r
+               nonViralName2.setExBasionymAuthorTeam(null);\r
+               assertEquals(null, nonViralName2.getExBasionymAuthorTeam());\r
+       }\r
 \r
 \r
        /**\r
@@ -193,19 +231,45 @@ public class NonViralNameTest extends EntityTestBase {
                assertEquals(null, nonViralName2.getInfraSpecificEpithet());\r
        }\r
 \r
-       /**\r
-        * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#getAuthorshipCache()}.\r
-        */\r
-       @Test\r
-       public final void testGetAuthorshipCache() {\r
-               logger.warn("Not yet implemented"); // TODO\r
-       }\r
-\r
        /**\r
         * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#setAuthorshipCache(java.lang.String)}.\r
+        * Test method for {@link eu.etaxonomy.cdm.model.name.NonViralName#getAuthorshipCache()}.\r
+        * NOT FINISHED YET\r
         */\r
        @Test\r
-       public final void testSetAuthorshipCache() {\r
-               logger.warn("Not yet implemented"); // TODO\r
+       public final void testGetSetAuthorshipCache() {\r
+               String strTeam1 = "Team1";\r
+               String strTeam2 = "Team2";\r
+               String strTeam3 = "Team3";\r
+               ReferenceBase<?> ref1 = Generic.NewInstance();\r
+               ref1.setTitleCache("RefTitle");\r
+               \r
+               Team team1 = Team.NewInstance();\r
+               Team team2 = Team.NewInstance();\r
+               team1.setNomenclaturalTitle(strTeam1);\r
+               team2.setNomenclaturalTitle(strTeam2);\r
+               nonViralName1.setGenusOrUninomial("Abies");\r
+               nonViralName1.setSpecificEpithet("alba");\r
+               nonViralName1.setNomenclaturalReference(ref1);\r
+               Assert.assertEquals("Abies alba", nonViralName1.getNameCache());\r
+               \r
+               nonViralName1.setCombinationAuthorTeam(team1);\r
+               assertEquals(team1, nonViralName1.getCombinationAuthorTeam());\r
+               assertEquals(strTeam1, nonViralName1.getAuthorshipCache());\r
+               Assert.assertEquals("Abies alba "+strTeam1, nonViralName1.getTitleCache());\r
+               Assert.assertEquals("Abies alba "+strTeam1+ ", RefTitle", nonViralName1.getFullTitleCache());\r
+               \r
+               nonViralName1.setAuthorshipCache(strTeam2);\r
+               assertEquals(strTeam2, nonViralName1.getAuthorshipCache());\r
+               nonViralName1.setGenusOrUninomial("Calendula");\r
+               Assert.assertEquals("Calendula alba "+strTeam2, nonViralName1.getTitleCache());\r
+               \r
+               nonViralName1.setAuthorshipCache(strTeam3);\r
+               Assert.assertEquals("Calendula alba "+strTeam3, nonViralName1.getTitleCache());\r
+               \r
+               Assert.assertEquals("Calendula alba "+strTeam3+ ", RefTitle", nonViralName1.getFullTitleCache());\r
+               \r
+               nonViralName1.setCombinationAuthorTeam(null);\r
+               assertEquals(null, nonViralName1.getCombinationAuthorTeam());\r
        }\r
 }\r