import eu.etaxonomy.cdm.model.agent.Person;\r
import eu.etaxonomy.cdm.model.name.NonViralName;\r
import eu.etaxonomy.cdm.model.name.Rank;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
\r
/**\r
* @author a.babadshanjan\r
private NonViralName<?> abiesAlba;\r
private NonViralName<?> abiesAlbaMichx;\r
private NonViralName<?> abiesAlbaMill;\r
-\r
+ \r
+ private Taxon abiesTaxon;\r
+ private Taxon abiesMillTaxon;\r
+ \r
+ private NonViralName<?> abiesAutonym;\r
+ private Taxon abiesAutonymTaxon;\r
+ \r
+ private NonViralName<?> abiesBalsamea;\r
+ private Taxon abiesBalsameaTaxon;\r
/**\r
* @throws java.lang.Exception\r
*/\r
+ \r
@BeforeClass\r
- public static void setUpBeforeClass() throws Exception {\r
+ public static void setUpBeforeClass() {\r
+ DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();\r
+ vocabularyStore.initialize();\r
+ \r
}\r
-\r
/**\r
* @throws java.lang.Exception\r
*/\r
\r
abies = NonViralName.NewInstance(Rank.GENUS(), null);\r
abies.setNameCache("Abies");\r
- abies.setTitleCache("Abies");\r
+ abies.setTitleCache("Abies", true);\r
+ Reference sec = ReferenceFactory.newArticle();\r
+ sec.setTitle("Abies alba Ref");\r
+ \r
+ abiesTaxon = Taxon.NewInstance(abies, sec);\r
\r
abiesMill = NonViralName.NewInstance(Rank.GENUS(), null);\r
abiesMill.setNameCache("Abies");\r
- abiesMill.setTitleCache("Abies Mill.");\r
+ abiesMill.setTitleCache("Abies Mill.", true);\r
+ abiesMillTaxon = Taxon.NewInstance(abiesMill, sec);\r
\r
abiesAlba = NonViralName.NewInstance(Rank.SPECIES(), null);\r
abiesAlba.setNameCache("Abies alba");\r
- abiesAlba.setTitleCache("Abies alba");\r
+ abiesAlba.setTitleCache("Abies alba", true);\r
\r
abiesAlbaMichx = NonViralName.NewInstance(Rank.SPECIES(), null);\r
abiesAlbaMichx.setNameCache("Abies alba");\r
- abiesAlbaMichx.setTitleCache("Abies alba Michx.");\r
+ abiesAlbaMichx.setTitleCache("Abies alba Michx.", true);\r
\r
abiesAlbaMill = NonViralName.NewInstance(Rank.SPECIES(), null);\r
abiesAlbaMill.setNameCache("Abies alba");\r
- abiesAlbaMill.setTitleCache("Abies alba Mill.");\r
+ abiesAlbaMill.setTitleCache("Abies alba Mill.", true);\r
+ \r
+ abiesAutonym = NonViralName.NewInstance(Rank.SECTION_BOTANY());\r
+ abiesAutonym.setGenusOrUninomial("Abies");\r
+ abiesAutonym.setInfraGenericEpithet("Abies");\r
+ \r
+ abiesAutonym.setTitleCache("Abies Mill. sect. Abies", true);\r
+ abiesAutonym.getNameCache();\r
+ abiesAutonymTaxon = Taxon.NewInstance(abiesAutonym, sec);\r
+ \r
+ abiesBalsamea = NonViralName.NewInstance(Rank.SECTION_BOTANY());\r
+ abiesBalsamea.setGenusOrUninomial("Abies");\r
+ abiesBalsamea.setInfraGenericEpithet("Balsamea");\r
+ abiesBalsamea.getNameCache();\r
+ abiesBalsamea.setTitleCache("Abies sect. Balsamea L.", true);\r
+ abiesBalsameaTaxon = Taxon.NewInstance(abiesBalsamea, sec);\r
+ \r
}\r
\r
/**\r
result = abies.compareTo(abiesMill);\r
assertTrue(result < 0);\r
\r
+ abiesTaxon = abies.getTaxa().iterator().next();\r
+ \r
+ assertTrue(abiesTaxon.compareTo(abiesTaxon) == 0);\r
+ \r
+ assertTrue(abiesMillTaxon.compareTo(abiesTaxon) > 0);\r
+ \r
+ assertTrue(abiesTaxon.compareTo(abiesMillTaxon) < 0);\r
+ \r
// "Abies Mill." > "Abies"\r
result = abiesMill.compareTo(abies);\r
assertTrue(result > 0);\r
// "Abies alba Michx." > "Abies Mill."\r
result = abiesAlbaMichx.compareTo(abiesMill);\r
assertTrue(result > 0);\r
-\r
+ \r
+ //Autonym should sorted without the authorstring\r
+ \r
+ result = abiesAutonym.compareTo(abiesBalsamea);\r
+ assertTrue(result < 0);\r
// Test consistency of compareTo() with equals(): \r
// Is consistent if and only if for every e1 and e2 of class C\r
// e1.compareTo(e2) == 0 has the same boolean value as e1.equals(e2) \r
assertNotNull("A list should always be returned",abies.getCredits());\r
assertTrue("No credits should exist",abies.getCredits().isEmpty());\r
}\r
+ \r
+ @Test\r
+ public void testClone(){\r
+ IdentifiableEntity clone = (IdentifiableEntity)abies.clone();\r
+ assertNotNull(clone);\r
+ assertEquals(clone.annotations, abies.annotations);\r
+ assertEquals(clone.markers, abies.markers);\r
+ assertFalse(clone.uuid.equals(abies.uuid));\r
+ }\r
}\r