#1987 (species aggregate bug in cache strategy get tagged names)
authorAndreas Müller <a.mueller@bgbm.org>
Tue, 7 Sep 2010 10:59:02 +0000 (10:59 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 7 Sep 2010 10:59:02 +0000 (10:59 +0000)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/name/NonViralNameDefaultCacheStrategy.java
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/name/NonViralNameDefaultCacheStrategyTest.java

index f5e6404b31916b58db0d8708eb7b477f22f21611..cf73b8c36e7793fff2c9a3aa9c5733548916080d 100644 (file)
@@ -421,6 +421,7 @@ public class NonViralNameDefaultCacheStrategy<T extends NonViralName> extends Na
                        // --- strategy 1 --- \r
                                        \r
                        if (nonViralName.getRank().isSpeciesAggregate()){\r
+                               tags.add(nonViralName.getSpecificEpithet());\r
                                tags.add(getSpeciesAggregateEpithet(nonViralName));\r
                        }else{\r
                                tags.add(nonViralName.getRank());       \r
@@ -434,7 +435,7 @@ public class NonViralNameDefaultCacheStrategy<T extends NonViralName> extends Na
                authorTeam.setTitleCache(nonViralName.getAuthorshipCache(), true);\r
                tags.add(authorTeam);\r
                \r
-               // Name is an autonym. Rank and infraspecific eitheton follow the author\r
+               // Name is an autonym. Rank and infraspecific epitheton follow the author\r
                if (nonViralName.isInfraSpecific() && nonViralName.getSpecificEpithet().equals(nonViralName.getInfraSpecificEpithet())){\r
                        tags.add(nonViralName.getRank());                       \r
                        tags.add(nonViralName.getInfraSpecificEpithet());                       \r
index 084b75331b4b680f3991dff0e0be8373cafb6e42..783cdb9eb1ed84d1f8b1a37cf20e05e975fda0c2 100644 (file)
@@ -319,14 +319,6 @@ public class NonViralNameDefaultCacheStrategyTest {
                \r
        }\r
        \r
-       /**\r
-        * Test method for {@link eu.etaxonomy.cdm.strategy.cache.name.NonViralNameDefaultCacheStrategy#getTaggedName(eu.etaxonomy.cdm.model.name.NonViralName)}.\r
-        */\r
-       @Test\r
-       public void testGetTaggedName() {\r
-               logger.warn("testGetTaggedName yet implemented");\r
-       }\r
-\r
        /**\r
         * Test method for {@link eu.etaxonomy.cdm.strategy.cache.name.NonViralNameDefaultCacheStrategy#setNameAuthorSeperator(java.lang.String)}.\r
         */\r
@@ -436,13 +428,24 @@ public class NonViralNameDefaultCacheStrategyTest {
                \r
                \r
        }\r
+\r
+       /**\r
+        * Test method for {@link eu.etaxonomy.cdm.strategy.cache.name.NonViralNameDefaultCacheStrategy#getTaggedName(eu.etaxonomy.cdm.model.name.NonViralName)}.\r
+        */\r
+       @Test\r
+       public void testGetTaggedNameSpeciesAggregate() {\r
+               BotanicalName speciesAggregate = BotanicalName.NewInstance(Rank.SPECIESAGGREGATE());\r
+               speciesAggregate.setGenusOrUninomial("Mygenus");\r
+               speciesAggregate.setSpecificEpithet("myspecies");\r
+               List<Object> taggedName = strategy.getTaggedName(speciesAggregate);\r
+               Assert.assertEquals("1rd tag must be genus epithet", "Mygenus", taggedName.get(0));\r
+               Assert.assertEquals("2rd tag must be species epithet", "myspecies", taggedName.get(1));\r
+               Assert.assertEquals("3rd tag must be aggregate marker", "aggr.",taggedName.get(2));\r
+       }\r
+\r
        \r
        @Test \r
-       public void getTaggedName(){\r
-//             BotanicalName botName = BotanicalName.NewInstance(Rank.SUBSPECIES());\r
-//             botName.setGenusOrUninomial("Genus");\r
-//             botName.setSpecificEpithet("species");\r
-//             botName.setInfraSpecificEpithet("subspecies");\r
+       public void testGetTaggedNameSubspecies(){\r
                List taggedName = strategy.getTaggedName(subSpeciesName);\r
                Assert.assertEquals("First tag should be 'Abies'", "Abies", taggedName.get(0));\r
                Assert.assertEquals("Second tag should be 'alba'", "alba", taggedName.get(1));\r