import java.lang.reflect.InvocationTargetException;\r
import java.lang.reflect.Method;\r
import java.util.List;\r
-import java.util.Set;\r
-import java.util.SortedSet;\r
import java.util.regex.Matcher;\r
import java.util.regex.Pattern;\r
\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.Test;\r
import eu.etaxonomy.cdm.model.name.BotanicalName;\r
import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\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.name.ZoologicalName;\r
-//import eu.etaxonomy.cdm.model.reference.Article;\r
-//import eu.etaxonomy.cdm.model.reference.Book;\r
-//import eu.etaxonomy.cdm.model.reference.BookSection;\r
import eu.etaxonomy.cdm.model.reference.IArticle;\r
import eu.etaxonomy.cdm.model.reference.IBook;\r
import eu.etaxonomy.cdm.model.reference.IBookSection;\r
import eu.etaxonomy.cdm.model.reference.IJournal;\r
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;\r
import eu.etaxonomy.cdm.model.reference.IVolumeReference;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceType;\r
-//import eu.etaxonomy.cdm.model.reference.Journal;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceType;\r
/**\r
* @author a.mueller\r
*\r
assertEquals(problemString, nameProblem.getTitleCache());\r
}\r
\r
+ \r
+ /**\r
+ * Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseReferencedName(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.\r
+ */\r
+ @Test\r
+ public final void testParseNomStatus() {\r
+ //nom. ambig.\r
+ String strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. ambig.";\r
+ NonViralName<?> nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.AMBIGUOUS(), nameTestStatus.getStatus().iterator().next().getType());\r
+ \r
+ //nom. dub.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. dub.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.DOUBTFUL(), nameTestStatus.getStatus().iterator().next().getType());\r
+ \r
+ //nom. confus.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. confus.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.CONFUSUM(), nameTestStatus.getStatus().iterator().next().getType());\r
+ \r
+ //nom. illeg.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. illeg.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.ILLEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());\r
+ \r
+ //nom. superfl.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. superfl.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.SUPERFLUOUS(), nameTestStatus.getStatus().iterator().next().getType());\r
+ \r
+ //nom. rej.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. rej.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.REJECTED(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. utique rej.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. utique rej.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.UTIQUE_REJECTED(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. cons. prop.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. cons. prop.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.CONSERVED_PROP(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. orth. cons. prop.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. orth. cons. prop.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED_PROP(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. legit.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. legit.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.LEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. altern.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. altern.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.ALTERNATIVE(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. alternativ.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. alternativ.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.ALTERNATIVE(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. nov.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. nov.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.NOVUM(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. utique rej. prop.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. utique rej. prop.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.UTIQUE_REJECTED_PROP(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. orth. cons.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. orth. cons.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. rej. prop.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. rej. prop.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.REJECTED_PROP(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. cons.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. cons.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.CONSERVED(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. sanct.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. sanct.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.SANCTIONED(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. inval.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. inval.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.INVALID(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. nud.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. nud.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.NUDUM(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //comb. inval.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, comb. inval.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.COMBINATION_INVALID(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //comb. illeg.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, comb. illeg.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.COMBINATION_ILLEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. provis.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. provis.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.PROVISIONAL(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. valid\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. valid";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.VALID(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //nom. subnud.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. subnud.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.SUBNUDUM(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ //opus. utique oppr.\r
+ strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, opus. utique oppr.";\r
+ nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());\r
+ assertFullRefStandard(nameTestStatus);\r
+ assertTrue(nameTestStatus.getStatus().size()== 1);\r
+ assertEquals( NomenclaturalStatusType.OPUS_UTIQUE_OPPR(), nameTestStatus.getStatus().iterator().next().getType());\r
+\r
+ }\r
+ \r
/**\r
* Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseReferencedName(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.\r
*/\r