import static org.junit.Assert.assertNull;\r
import static org.junit.Assert.assertSame;\r
import static org.junit.Assert.assertTrue;\r
+import junit.framework.Assert;\r
\r
import org.apache.log4j.Logger;\r
import org.junit.Before;\r
public String generateFullTitle(){return null;}\r
@Override\r
public String generateTitle() {\r
- // TODO Auto-generated method stub\r
return null;\r
};\r
}\r
\r
/** ************************* TESTS ******************************************************/\r
\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#generateTitle()}.\r
- */\r
- @Test\r
- public void testGenerateTitle() {\r
- logger.warn("not yet implemented");\r
- }\r
\r
@Test\r
public void testGenerateFullTitle() {\r
- logger.warn("not yet implemented");\r
+ //abstract\r
}\r
\r
/**\r
\r
}\r
\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setStatus(java.util.Set)}.\r
- */\r
- @Test\r
- public void testSetStatus() {\r
- //is protected\r
- logger.warn("not yet implemented");\r
- }\r
-\r
-\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isOriginalCombination()}.\r
*/\r
*/\r
@Test\r
public void testGetBasionym() {\r
- logger.warn("not yet implemented");\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase basionym1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase basionym2 = BotanicalName.NewInstance(null);\r
+ \r
+ Assert.assertEquals(null, name1.getBasionym()); \r
+ name1.addBasionym(basionym1);\r
+ Assert.assertEquals(basionym1, name1.getBasionym());\r
+ name1.addBasionym(basionym2);\r
+ TaxonNameBase oneOfThebasionyms = name1.getBasionym();\r
+ Assert.assertTrue(oneOfThebasionyms == basionym1 || oneOfThebasionyms == basionym2 );\r
+ name1.removeBasionyms();\r
+ Assert.assertEquals(null, name1.getBasionym()); \r
}\r
\r
/**\r
logger.warn("not yet implemented");\r
}\r
\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#removeBasionym()}.\r
- */\r
- @Test\r
- public void testRemoveBasionym() {\r
- logger.warn("not yet implemented");\r
- }\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getCacheStrategy()}.\r
*/\r
@Test\r
public void testGetRank() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setRank(eu.etaxonomy.cdm.model.name.Rank)}.\r
- */\r
- @Test\r
- public void testSetRank() {\r
- logger.warn("not yet implemented");\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ assertNull("Rank shall be null", name1.getRank());\r
+ name1.setRank(Rank.SPECIES());\r
+ assertNotNull("Rank shall not be null", name1.getRank());\r
+ name1.setRank(null);\r
+ assertNull("Rank shall be null", name1.getRank());\r
+ \r
}\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNomenclaturalReference()}.\r
*/\r
@Test\r
- public void testGetNomenclaturalReference() {\r
+ public void testGetSetNomenclaturalReference() {\r
INomenclaturalReference nr = (INomenclaturalReference) nameBase1.getNomenclaturalReference();\r
assertNull("Nomenclatural Reference shall be null", nr);\r
nameBase1.setNomenclaturalReference(Generic.NewInstance());\r
assertNotNull("Nomenclatural Reference shall not be null", nr);\r
}\r
\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setNomenclaturalReference(eu.etaxonomy.cdm.model.reference.INomenclaturalReference)}.\r
- */\r
- @Test\r
- public void testSetNomenclaturalReference() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getAppendedPhrase()}.\r
*/\r
@Test\r
public void testGetAppendedPhrase() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setAppendedPhrase(java.lang.String)}.\r
- */\r
- @Test\r
- public void testSetAppendedPhrase() {\r
- logger.warn("not yet implemented");\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ String appPhrase = "appPhrase";\r
+ Assert.assertNull(name1.getAppendedPhrase());\r
+ name1.setAppendedPhrase(appPhrase);\r
+ Assert.assertSame(appPhrase, name1.getAppendedPhrase());\r
+ name1.setAppendedPhrase(null);\r
+ Assert.assertNull(name1.getAppendedPhrase());\r
}\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getNomenclaturalMicroReference()}.\r
*/\r
@Test\r
- public void testGetNomenclaturalMicroReference() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setNomenclaturalMicroReference(java.lang.String)}.\r
- */\r
- @Test\r
- public void testSetNomenclaturalMicroReference() {\r
- logger.warn("not yet implemented");\r
+ public void testGetSetNomenclaturalMicroReference() {\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ String microRef = "micro";\r
+ Assert.assertNull(name1.getNomenclaturalMicroReference());\r
+ name1.setNomenclaturalMicroReference(microRef);\r
+ Assert.assertSame(microRef, name1.getNomenclaturalMicroReference());\r
+ name1.setNomenclaturalMicroReference(null);\r
+ Assert.assertNull(name1.getNomenclaturalMicroReference());\r
}\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#getHasProblem()}.\r
*/\r
@Test\r
- public void testGetHasProblem() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#setHasProblem(boolean)}.\r
- */\r
- @Test\r
- public void testSetHasProblem() {\r
- logger.warn("not yet implemented");\r
- }\r
-\r
- /**\r
- * Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#hasProblem()}.\r
- */\r
- @Test\r
- public void testHasProblem() {\r
- logger.warn("not yet implemented");\r
+ public void testGetSetHasProblem() {\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ name1.setHasProblem(false);\r
+ Assert.assertFalse(name1.hasProblem());\r
+ name1.setHasProblem(true);\r
+ Assert.assertTrue(name1.hasProblem());\r
+ name1.setHasProblem(false);\r
+ Assert.assertFalse(name1.getHasProblem());\r
}\r
\r
/**\r
public void testGetSynonyms() {\r
logger.warn("not yet implemented");\r
}\r
+ \r
+ @Test\r
+ public void testMergeHomotypicGroups() {\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name2 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name4 = BotanicalName.NewInstance(null);\r
+ \r
+ Assert.assertFalse(name1.getHomotypicalGroup().equals(name2.getHomotypicalGroup()));\r
+ int numberOfTypifiedNames = name1.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(1, numberOfTypifiedNames);\r
+ \r
+ name1.mergeHomotypicGroups(name2);\r
+ Assert.assertEquals(name1.getHomotypicalGroup(), name2.getHomotypicalGroup());\r
+ Assert.assertSame(name1.getHomotypicalGroup(), name2.getHomotypicalGroup());\r
+ numberOfTypifiedNames = name1.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(2, numberOfTypifiedNames);\r
+ numberOfTypifiedNames = name2.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(2, numberOfTypifiedNames);\r
+ Assert.assertTrue(name1.getHomotypicalGroup().getTypifiedNames().contains(name2));\r
+ Assert.assertTrue(name2.getHomotypicalGroup().getTypifiedNames().contains(name1));\r
+\r
+ name3.mergeHomotypicGroups(name2);\r
+ Assert.assertEquals(name1.getHomotypicalGroup(), name3.getHomotypicalGroup());\r
+ Assert.assertSame(name1.getHomotypicalGroup(), name3.getHomotypicalGroup());\r
+ numberOfTypifiedNames = name1.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(3, numberOfTypifiedNames);\r
+ numberOfTypifiedNames = name2.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(3, numberOfTypifiedNames);\r
+ numberOfTypifiedNames = name3.getHomotypicalGroup().getTypifiedNames().size();\r
+ Assert.assertEquals(3, numberOfTypifiedNames);\r
+ Assert.assertTrue(name1.getHomotypicalGroup().getTypifiedNames().contains(name2));\r
+ Assert.assertTrue(name2.getHomotypicalGroup().getTypifiedNames().contains(name1));\r
+ Assert.assertTrue(name1.getHomotypicalGroup().getTypifiedNames().contains(name3));\r
+ Assert.assertTrue(name3.getHomotypicalGroup().getTypifiedNames().contains(name1));\r
+ Assert.assertTrue(name2.getHomotypicalGroup().getTypifiedNames().contains(name3));\r
+ Assert.assertTrue(name3.getHomotypicalGroup().getTypifiedNames().contains(name2));\r
+\r
+ \r
+ }\r
+ \r
+ \r
+ @Test\r
+ public void testIsBasionymFor() {\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name2 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name4 = BotanicalName.NewInstance(null);\r
+ \r
+ Assert.assertFalse(name2.isBasionymFor(name1));\r
+ Assert.assertFalse(name1.isBasionymFor(name2));\r
+ name1.addBasionym(name2);\r
+ Assert.assertTrue(name2.isBasionymFor(name1));\r
+ Assert.assertFalse(name1.isBasionymFor(name2));\r
+ }\r
\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.model.name.TaxonNameBase#isHomotypic(eu.etaxonomy.cdm.model.name.TaxonNameBase)}.\r
*/\r
@Test\r
public void testIsHomotypic() {\r
- logger.warn("not yet implemented");\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name2 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name4 = BotanicalName.NewInstance(null);\r
+ name1.mergeHomotypicGroups(name2);\r
+ name2.mergeHomotypicGroups(name4);\r
+ \r
+ Assert.assertTrue(name1.isHomotypic(name4));\r
+ Assert.assertTrue(name4.isHomotypic(name1));\r
+ Assert.assertFalse(name1.isHomotypic(name3));\r
+ Assert.assertFalse(name3.isHomotypic(name1));\r
+ Assert.assertTrue(name2.isHomotypic(name1));\r
+ \r
+ }\r
+\r
+ @Test\r
+ public void testMakeGroupsBasionym(){\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name2 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name4 = BotanicalName.NewInstance(null);\r
+ \r
+ name1.mergeHomotypicGroups(name2);\r
+ name1.mergeHomotypicGroups(name3);\r
+ name2.mergeHomotypicGroups(name4);\r
+ \r
+ name1.makeGroupsBasionym();\r
+ \r
+ Assert.assertEquals(1, name2.getBasionyms().size());\r
+ Assert.assertEquals(1, name3.getBasionyms().size());\r
+ Assert.assertEquals(1, name4.getBasionyms().size());\r
+ Assert.assertEquals(name1, name4.getBasionym());\r
+ \r
+ }\r
+ \r
+ @Test\r
+ public void testIsGroupsBasionym(){\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name2 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name4 = BotanicalName.NewInstance(null);\r
+ \r
+ Assert.assertFalse(name1.isGroupsBasionym());\r
+ \r
+ name1.mergeHomotypicGroups(name2);\r
+ name2.mergeHomotypicGroups(name4);\r
+ \r
+ name1.makeGroupsBasionym();\r
+ \r
+ Assert.assertTrue(name1.isGroupsBasionym());\r
+ Assert.assertFalse(name2.isGroupsBasionym());\r
+ name1.mergeHomotypicGroups(name3);\r
+ Assert.assertFalse(name1.isGroupsBasionym()); \r
+ }\r
+ \r
+ \r
+ \r
+ @Test\r
+ public void testRemoveBasionyms(){\r
+ TaxonNameBase name1 = BotanicalName.NewInstance(null);\r
+ TaxonNameBase basionym = BotanicalName.NewInstance(null);\r
+ TaxonNameBase name3 = BotanicalName.NewInstance(null);\r
+ \r
+ name1.addBasionym(basionym);\r
+ Assert.assertEquals(1, name1.getBasionyms().size());\r
+ name1.addBasionym(name3);\r
+ Assert.assertEquals(2, name1.getBasionyms().size());\r
+ name1.removeBasionyms();\r
+ Assert.assertEquals(0, name1.getBasionyms().size()); \r
}\r
\r
/**\r