import static org.junit.Assert.assertNotNull;\r
import static org.junit.Assert.assertNull;\r
\r
-import java.lang.reflect.InvocationTargetException;\r
import java.lang.reflect.Method;\r
import java.util.GregorianCalendar;\r
\r
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;\r
import eu.etaxonomy.cdm.model.name.NonViralName;\r
import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.reference.Book;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
\r
/**\r
* @author a.mueller\r
*\r
*/\r
-public class BotanicNameCacheStrategyTest {\r
+public class BotanicNameCacheStrategyTest extends NameCacheStrategyTestBase{\r
private static final Logger logger = Logger.getLogger(BotanicNameCacheStrategyTest.class);\r
\r
private static final String familyNameString = "Familia";\r
private INomenclaturalAuthor exAuthor;\r
private INomenclaturalAuthor basAuthor;\r
private INomenclaturalAuthor exBasAuthor;\r
- private Book citationRef;\r
+ private Reference<?> citationRef;\r
+ ReferenceFactory refFactory;\r
\r
/**\r
* @throws java.lang.Exception\r
exBasAuthor = Person.NewInstance();\r
exBasAuthor.setNomenclaturalTitle(exBasAuthorString);\r
\r
- citationRef = Book.NewInstance();\r
+ citationRef = refFactory.newBook();\r
// Gard. Dict. ed. 8, no. 1. 1768.\r
citationRef.setTitle("Gard. Dict.");\r
//citationRef.setPlacePublished("");\r
citationRef.setVolume("1");\r
citationRef.setEdition("ed. 8");\r
GregorianCalendar testDate = new GregorianCalendar();\r
- testDate.set(1768, 1, 1);\r
+ testDate.set(1968, 3, 2);\r
\r
TimePeriod period = TimePeriod.NewInstance(testDate);\r
\r
*/\r
@Test\r
public final void testNewInstance() {\r
- BotanicNameDefaultCacheStrategy cacheStrategy = BotanicNameDefaultCacheStrategy.NewInstance();\r
+ BotanicNameDefaultCacheStrategy<?> cacheStrategy = BotanicNameDefaultCacheStrategy.NewInstance();\r
assertNotNull(cacheStrategy);\r
}\r
\r
assertEquals(subSpeciesNameString, strategy.getNameCache(subSpeciesName));\r
assertEquals(subSpeciesNameString + " (" + exBasAuthorString + " ex " + basAuthorString + ")" + " " + exAuthorString + " ex " + authorString , strategy.getTitleCache(subSpeciesName));\r
\r
+ subSpeciesName.setExCombinationAuthorTeam(null);\r
+ assertEquals(subSpeciesNameString + " (" + exBasAuthorString + " ex " + basAuthorString + ")" + " " + authorString , strategy.getTitleCache(subSpeciesName));\r
+ \r
+ subSpeciesName.setExBasionymAuthorTeam(null);\r
+ assertEquals(subSpeciesNameString + " (" + basAuthorString + ")" + " " + authorString , strategy.getTitleCache(subSpeciesName));\r
+ \r
+ \r
//Autonym\r
subSpeciesName.setInfraSpecificEpithet("alba");\r
subSpeciesName.setCombinationAuthorTeam(author);\r
subSpeciesName.setBasionymAuthorTeam(null);\r
subSpeciesName.setExCombinationAuthorTeam(null);\r
subSpeciesName.setExBasionymAuthorTeam(null);\r
- assertEquals("Abies alba alba", strategy.getNameCache(subSpeciesName));\r
+ //changed 2009-09-04\r
+ assertEquals("Abies alba subsp. alba", strategy.getNameCache(subSpeciesName));\r
assertEquals("Abies alba L. subsp. alba", strategy.getTitleCache(subSpeciesName));\r
- }\r
+ \r
+ \r
+ \r
+ }\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.strategy.cache.name.BotanicNameDefaultCacheStrategy#getFullTitleCache(eu.etaxonomy.cdm.model.common.CdmBase)}.\r
*/\r
@Test\r
public final void testGetFullTitleCache() {\r
- assertNull(speciesNameString, strategy.getFullTitleCache(null));\r
- assertEquals("Abies alba app phrase, Gard. Dict. ed. 8, 1. 1768, nom. illeg.", strategy.getFullTitleCache(speciesName));\r
+ assertNull("Full title cache of null object should return null", strategy.getFullTitleCache(null));\r
+ //NOTE: Unclear if the date part should contain the full date or only the year. Undefined Behaviour.\r
+ assertEquals("Abies alba app phrase, Gard. Dict., ed. 8, 1. 2.4.1968, nom. illeg.", strategy.getFullTitleCache(speciesName));\r
\r
// assertNull(subSpeciesNameString, strategy.getFullTitleCache(null));\r
// assertEquals("Abies alba app phrase L. Gard. Dict. ed. 8, 1. 1768, nom. illeg.", strategy.getFullTitleCache(speciesName));\r
* Test method for {@link eu.etaxonomy.cdm.strategy.cache.name.BotanicNameDefaultCacheStrategy#getInfraGenusNameCache(eu.etaxonomy.cdm.model.name.BotanicalName)}.\r
*/\r
@Test\r
- public final void testGetInfraGenusNameCache() {\r
- String methodName = "getInfraGenusNameCache";\r
+ public final void testGetInfraGenusTaggedNameCache() {\r
+ String methodName = "getInfraGenusTaggedNameCache";\r
Method method = getMethod(NonViralNameDefaultCacheStrategy.class, methodName, NonViralName.class);\r
- this.getValue(method, strategy, subGenusName);\r
+ this.getStringValue(method, strategy, subGenusName);\r
assertEquals("Genus subg. InfraGenericPart", strategy.getNameCache(subGenusName));\r
}\r
\r
public final void testAutonyms() {\r
subSpeciesName.setInfraSpecificEpithet("alba");\r
subSpeciesName.setCombinationAuthorTeam(author);\r
- assertEquals("Abies alba alba", strategy.getNameCache(subSpeciesName));\r
+ //changed 2009-09-04\r
+ assertEquals("Abies alba subsp. alba", strategy.getNameCache(subSpeciesName));\r
assertEquals("Abies alba L. subsp. alba", strategy.getTitleCache(subSpeciesName));\r
}\r
\r
protected Method getMethod(Class clazz, String methodName, Class paramClazzes){\r
Method method;\r
try {\r
- method = clazz.getDeclaredMethod("getInfraGenusNameCache", paramClazzes);\r
+ method = clazz.getDeclaredMethod(methodName, paramClazzes);\r
} catch (SecurityException e) {\r
logger.error("SecurityException " + e.getMessage());\r
return null;\r
}\r
return method;\r
}\r
- \r
- protected String getValue(Method method, Object object,Object parameter){\r
- try {\r
- return (String)method.invoke(object, parameter);\r
- } catch (IllegalArgumentException e) {\r
- logger.error("IllegalArgumentException " + e.getMessage());\r
- return null;\r
- } catch (IllegalAccessException e) {\r
- logger.error("IllegalAccessException " + e.getMessage());\r
- return null;\r
- } catch (InvocationTargetException e) {\r
- logger.error("InvocationTargetException " + e.getMessage());\r
- return null;\r
- }\r
- }\r
+\r
\r
\r
}\r