Project

General

Profile

« Previous | Next » 

Revision 74c71c4e

Added by Andreas Müller almost 13 years ago

all nom. status should parse correctly now (#2355)

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplRegExBase.java
213 213
    protected static Pattern referencePattern = Pattern.compile(pReference);
214 214
    protected static Pattern referenceSineDetailPattern = Pattern.compile(pReferenceSineDetail);
215 215
    
216
    protected static String pNomStatusNom = "nom\\." + fWs + "(superfl\\.|nud\\.|illeg\\.|inval\\.|cons\\.|alternativ\\.|subnud.|"+
217
    					"rej\\.|rej\\."+ fWs + "prop\\.|provis\\.)";
216
    protected static String pNomStatusNom = "nom\\." + fWs + "(ambig\\.|dub\\.|confus\\.|superfl\\.|nud\\.|illeg\\.|inval\\.|cons\\.(\\s?prop\\.)?|altern(ativ)?\\.|subnud.|nov\\.|legit\\.|sanct\\.|valid|"+
217
    					"rej\\.("+ fWs + "prop\\.)?|provis\\.|utique"+fWs+"rej\\.("+fWs+"prop\\.)?|orth\\."+fWs+"cons\\.("+fWs+"prop\\.)?)";
218 218
    protected static String pNomStatusOrthVar = "orth\\." + fWs + "var\\.";
219
    protected static String pNomStatus = "(" + pNomStatusNom + "|" + pNomStatusOrthVar +  ")";
219
    protected static String pNomStatusComb = "comb\\." + fWs + "(inval\\.|illeg\\.)";
220
    protected static String pNomStatusOpus = "opus\\."+fWs+"utique"+fWs+"oppr\\.";
221
    
222
    protected static String pNomStatus = "(" + pNomStatusNom + "|" + pNomStatusOrthVar + "|" +pNomStatusComb + "|" + pNomStatusOpus + ")";
220 223
    protected static String pNomStatusPhrase1 = "," + fWs + pNomStatus;
221 224
    protected static String pNomStatusPhrase2 = "\\[" + fWs + pNomStatus + "\\]";
222 225
    
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java
18 18
import java.lang.reflect.InvocationTargetException;
19 19
import java.lang.reflect.Method;
20 20
import java.util.List;
21
import java.util.Set;
22
import java.util.SortedSet;
23 21
import java.util.regex.Matcher;
24 22
import java.util.regex.Pattern;
25 23

  
26 24
import junit.framework.Assert;
27 25

  
28 26
import org.apache.log4j.Logger;
29
import org.junit.After;
30
import org.junit.AfterClass;
31 27
import org.junit.Before;
32 28
import org.junit.BeforeClass;
33 29
import org.junit.Test;
......
38 34
import eu.etaxonomy.cdm.model.name.BotanicalName;
39 35
import eu.etaxonomy.cdm.model.name.HybridRelationship;
40 36
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
37
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
41 38
import eu.etaxonomy.cdm.model.name.NonViralName;
42 39
import eu.etaxonomy.cdm.model.name.Rank;
43 40
import eu.etaxonomy.cdm.model.name.ZoologicalName;
44
//import eu.etaxonomy.cdm.model.reference.Article;
45
//import eu.etaxonomy.cdm.model.reference.Book;
46
//import eu.etaxonomy.cdm.model.reference.BookSection;
47 41
import eu.etaxonomy.cdm.model.reference.IArticle;
48 42
import eu.etaxonomy.cdm.model.reference.IBook;
49 43
import eu.etaxonomy.cdm.model.reference.IBookSection;
50 44
import eu.etaxonomy.cdm.model.reference.IJournal;
51 45
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
52 46
import eu.etaxonomy.cdm.model.reference.IVolumeReference;
53
import eu.etaxonomy.cdm.model.reference.ReferenceType;
54
//import eu.etaxonomy.cdm.model.reference.Journal;
55 47
import eu.etaxonomy.cdm.model.reference.Reference;
48
import eu.etaxonomy.cdm.model.reference.ReferenceType;
56 49
/**
57 50
 * @author a.mueller
58 51
 *
......
450 443
		assertEquals(problemString, nameProblem.getTitleCache());
451 444
	}
452 445
	
446
	
447
	/**
448
	 * Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseReferencedName(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.
449
	 */
450
	@Test
451
	public final void testParseNomStatus() {
452
		//nom. ambig.
453
		String strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. ambig.";
454
		NonViralName<?> nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
455
		assertFullRefStandard(nameTestStatus);
456
		assertTrue(nameTestStatus.getStatus().size()== 1);
457
		assertEquals( NomenclaturalStatusType.AMBIGUOUS(), nameTestStatus.getStatus().iterator().next().getType());
458
		
459
		//nom. dub.
460
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. dub.";
461
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
462
		assertFullRefStandard(nameTestStatus);
463
		assertTrue(nameTestStatus.getStatus().size()== 1);
464
		assertEquals( NomenclaturalStatusType.DOUBTFUL(), nameTestStatus.getStatus().iterator().next().getType());
465
		
466
		//nom. confus.
467
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. confus.";
468
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
469
		assertFullRefStandard(nameTestStatus);
470
		assertTrue(nameTestStatus.getStatus().size()== 1);
471
		assertEquals( NomenclaturalStatusType.CONFUSUM(), nameTestStatus.getStatus().iterator().next().getType());
472
		
473
		//nom. illeg.
474
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. illeg.";
475
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
476
		assertFullRefStandard(nameTestStatus);
477
		assertTrue(nameTestStatus.getStatus().size()== 1);
478
		assertEquals( NomenclaturalStatusType.ILLEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());
479
		
480
		//nom. superfl.
481
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. superfl.";
482
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
483
		assertFullRefStandard(nameTestStatus);
484
		assertTrue(nameTestStatus.getStatus().size()== 1);
485
		assertEquals( NomenclaturalStatusType.SUPERFLUOUS(), nameTestStatus.getStatus().iterator().next().getType());
486
		
487
		//nom. rej.
488
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. rej.";
489
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
490
		assertFullRefStandard(nameTestStatus);
491
		assertTrue(nameTestStatus.getStatus().size()== 1);
492
		assertEquals( NomenclaturalStatusType.REJECTED(), nameTestStatus.getStatus().iterator().next().getType());
493

  
494
		//nom. utique rej.
495
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. utique rej.";
496
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
497
		assertFullRefStandard(nameTestStatus);
498
		assertTrue(nameTestStatus.getStatus().size()== 1);
499
		assertEquals( NomenclaturalStatusType.UTIQUE_REJECTED(), nameTestStatus.getStatus().iterator().next().getType());
500

  
501
		//nom. cons. prop.
502
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. cons. prop.";
503
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
504
		assertFullRefStandard(nameTestStatus);
505
		assertTrue(nameTestStatus.getStatus().size()== 1);
506
		assertEquals( NomenclaturalStatusType.CONSERVED_PROP(), nameTestStatus.getStatus().iterator().next().getType());
507

  
508
		//nom. orth. cons. prop.
509
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. orth. cons. prop.";
510
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
511
		assertFullRefStandard(nameTestStatus);
512
		assertTrue(nameTestStatus.getStatus().size()== 1);
513
		assertEquals( NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED_PROP(), nameTestStatus.getStatus().iterator().next().getType());
514

  
515
		//nom. legit.
516
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. legit.";
517
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
518
		assertFullRefStandard(nameTestStatus);
519
		assertTrue(nameTestStatus.getStatus().size()== 1);
520
		assertEquals( NomenclaturalStatusType.LEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());
521

  
522
		//nom. altern.
523
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. altern.";
524
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
525
		assertFullRefStandard(nameTestStatus);
526
		assertTrue(nameTestStatus.getStatus().size()== 1);
527
		assertEquals( NomenclaturalStatusType.ALTERNATIVE(), nameTestStatus.getStatus().iterator().next().getType());
528

  
529
		//nom. alternativ.
530
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. alternativ.";
531
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
532
		assertFullRefStandard(nameTestStatus);
533
		assertTrue(nameTestStatus.getStatus().size()== 1);
534
		assertEquals( NomenclaturalStatusType.ALTERNATIVE(), nameTestStatus.getStatus().iterator().next().getType());
535

  
536
		//nom. nov.
537
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. nov.";
538
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
539
		assertFullRefStandard(nameTestStatus);
540
		assertTrue(nameTestStatus.getStatus().size()== 1);
541
		assertEquals( NomenclaturalStatusType.NOVUM(), nameTestStatus.getStatus().iterator().next().getType());
542

  
543
		//nom. utique rej. prop.
544
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. utique rej. prop.";
545
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
546
		assertFullRefStandard(nameTestStatus);
547
		assertTrue(nameTestStatus.getStatus().size()== 1);
548
		assertEquals( NomenclaturalStatusType.UTIQUE_REJECTED_PROP(), nameTestStatus.getStatus().iterator().next().getType());
549

  
550
		//nom. orth. cons.
551
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. orth. cons.";
552
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
553
		assertFullRefStandard(nameTestStatus);
554
		assertTrue(nameTestStatus.getStatus().size()== 1);
555
		assertEquals( NomenclaturalStatusType.ORTHOGRAPHY_CONSERVED(), nameTestStatus.getStatus().iterator().next().getType());
556

  
557
		//nom. rej. prop.
558
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. rej. prop.";
559
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
560
		assertFullRefStandard(nameTestStatus);
561
		assertTrue(nameTestStatus.getStatus().size()== 1);
562
		assertEquals( NomenclaturalStatusType.REJECTED_PROP(), nameTestStatus.getStatus().iterator().next().getType());
563

  
564
		//nom. cons.
565
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. cons.";
566
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
567
		assertFullRefStandard(nameTestStatus);
568
		assertTrue(nameTestStatus.getStatus().size()== 1);
569
		assertEquals( NomenclaturalStatusType.CONSERVED(), nameTestStatus.getStatus().iterator().next().getType());
570

  
571
		//nom. sanct.
572
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. sanct.";
573
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
574
		assertFullRefStandard(nameTestStatus);
575
		assertTrue(nameTestStatus.getStatus().size()== 1);
576
		assertEquals( NomenclaturalStatusType.SANCTIONED(), nameTestStatus.getStatus().iterator().next().getType());
577

  
578
		//nom. inval.
579
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. inval.";
580
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
581
		assertFullRefStandard(nameTestStatus);
582
		assertTrue(nameTestStatus.getStatus().size()== 1);
583
		assertEquals( NomenclaturalStatusType.INVALID(), nameTestStatus.getStatus().iterator().next().getType());
584

  
585
		//nom. nud.
586
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. nud.";
587
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
588
		assertFullRefStandard(nameTestStatus);
589
		assertTrue(nameTestStatus.getStatus().size()== 1);
590
		assertEquals( NomenclaturalStatusType.NUDUM(), nameTestStatus.getStatus().iterator().next().getType());
591

  
592
		//comb. inval.
593
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, comb. inval.";
594
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
595
		assertFullRefStandard(nameTestStatus);
596
		assertTrue(nameTestStatus.getStatus().size()== 1);
597
		assertEquals( NomenclaturalStatusType.COMBINATION_INVALID(), nameTestStatus.getStatus().iterator().next().getType());
598

  
599
		//comb. illeg.
600
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, comb. illeg.";
601
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
602
		assertFullRefStandard(nameTestStatus);
603
		assertTrue(nameTestStatus.getStatus().size()== 1);
604
		assertEquals( NomenclaturalStatusType.COMBINATION_ILLEGITIMATE(), nameTestStatus.getStatus().iterator().next().getType());
605

  
606
		//nom. provis.
607
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. provis.";
608
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
609
		assertFullRefStandard(nameTestStatus);
610
		assertTrue(nameTestStatus.getStatus().size()== 1);
611
		assertEquals( NomenclaturalStatusType.PROVISIONAL(), nameTestStatus.getStatus().iterator().next().getType());
612

  
613
		//nom. valid
614
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. valid";
615
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
616
		assertFullRefStandard(nameTestStatus);
617
		assertTrue(nameTestStatus.getStatus().size()== 1);
618
		assertEquals( NomenclaturalStatusType.VALID(), nameTestStatus.getStatus().iterator().next().getType());
619

  
620
		//nom. subnud.
621
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, nom. subnud.";
622
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
623
		assertFullRefStandard(nameTestStatus);
624
		assertTrue(nameTestStatus.getStatus().size()== 1);
625
		assertEquals( NomenclaturalStatusType.SUBNUDUM(), nameTestStatus.getStatus().iterator().next().getType());
626

  
627
		//opus. utique oppr.
628
		strTestStatus = "Abies alba Mill., Sp. Pl. 4: 455. 1987, opus. utique oppr.";
629
		nameTestStatus = parser.parseReferencedName(strTestStatus, null, Rank.SPECIES());
630
		assertFullRefStandard(nameTestStatus);
631
		assertTrue(nameTestStatus.getStatus().size()== 1);
632
		assertEquals( NomenclaturalStatusType.OPUS_UTIQUE_OPPR(), nameTestStatus.getStatus().iterator().next().getType());
633

  
634
	}
635
	
453 636
	/**
454 637
	 * Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseReferencedName(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.
455 638
	 */

Also available in: Unified diff