Project

General

Profile

« Previous | Next » 

Revision 17e7adf7

Added by Andreas Müller almost 16 years ago

View differences:

cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/parser/NonViralNameParserImplTest.java
263 263
	}
264 264
	
265 265
	/**
266
	 * Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseFullReference(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.
266
	 * Test method for {@link eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl#parseReferencedName(NonViralName, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, boolean)(, )}.
267 267
	 */
268 268
	@Test
269
	public final void testParseFullReference() {
269
	public final void testParseReferencedName() {
270 270
		try {
271
			Method parseMethod = parser.getClass().getDeclaredMethod("parseFullReference", String.class, NomenclaturalCode.class, Rank.class);
271
			Method parseMethod = parser.getClass().getDeclaredMethod("parseReferencedName", String.class, NomenclaturalCode.class, Rank.class);
272 272
			testName_StringNomcodeRank(parseMethod);
273 273
		} catch (Exception e) {
274 274
			e.printStackTrace();
......
279 279
		
280 280
		//Book
281 281
		String fullReference = "Abies alba Mill., Sp.   Pl. 4: 455. 1987.";
282
		NonViralName<?> name1 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
282
		NonViralName<?> name1 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
283 283
		assertFullRefStandard(name1);
284 284
		assertTrue(name1.getNomenclaturalReference() instanceof Book);
285 285
		
286 286
		//Book Section
287 287
		fullReference = "Abies alba Mill. in Otto, Sp. Pl. 4(6): 455. 1987";
288
		NonViralName<?> name2 = parser.parseFullReference(fullReference + ".", null, Rank.SPECIES());
288
		NonViralName<?> name2 = parser.parseReferencedName(fullReference + ".", null, Rank.SPECIES());
289 289
		assertFullRefNameStandard(name2);
290 290
		//assertEquals(fullReference, name2.getFullTitleCache());
291 291
		assertFalse(name2.hasProblem());
......
302 302
		
303 303
		//Article
304 304
		fullReference = "Abies alba Mill. in Sp. Pl. 4(6): 455. 1987";
305
		NonViralName<?> name3 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
305
		NonViralName<?> name3 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
306 306
		assertFullRefNameStandard(name3);
307 307
		assertEquals(fullReference, name3.getFullTitleCache());
308 308
		assertFalse(name3.hasProblem());
......
323 323
		String fullReferenceWithoutYear = "Abies alba Mill. in " + journalTitle + " 4(6): 455.";
324 324
		fullReference = fullReferenceWithoutYear + yearPart;
325 325
		String fullReferenceWithEnd = fullReference + ".";
326
		NonViralName<?> name4 = parser.parseFullReference(fullReferenceWithEnd, null, Rank.SPECIES());
326
		NonViralName<?> name4 = parser.parseReferencedName(fullReferenceWithEnd, null, Rank.SPECIES());
327 327
		assertFalse(name4.hasProblem());
328 328
		assertFullRefNameStandard(name4);
329 329
		assertEquals(fullReferenceWithoutYear + " " + parsedYear, name4.getFullTitleCache());
......
339 339
		
340 340
		//Zoo name
341 341
		String strNotParsableZoo = "Abies alba M., 1923, Sp. P. xxwer4352, nom. inval.";
342
		ZoologicalName nameZooRefNotParsabel = (ZoologicalName)parser.parseFullReference(strNotParsableZoo, null, null);
342
		ZoologicalName nameZooRefNotParsabel = (ZoologicalName)parser.parseReferencedName(strNotParsableZoo, null, null);
343 343
		assertTrue(nameZooRefNotParsabel.hasProblem());
344 344
		assertEquals(21, nameZooRefNotParsabel.getProblemStarts());
345 345
		assertEquals(37, nameZooRefNotParsabel.getProblemEnds());
......
350 350

  
351 351
		//Special MicroRefs
352 352
		String strSpecDetail1 = "Abies alba Mill. in Sp. Pl. 4(6): [455]. 1987";
353
		NonViralName<?> nameSpecDet1 = parser.parseFullReference(strSpecDetail1 + ".", null, Rank.SPECIES());
353
		NonViralName<?> nameSpecDet1 = parser.parseReferencedName(strSpecDetail1 + ".", null, Rank.SPECIES());
354 354
		assertFalse(nameSpecDet1.hasProblem());
355 355
		assertEquals(strSpecDetail1, nameSpecDet1.getFullTitleCache());
356 356
		assertEquals("[455]", nameSpecDet1.getNomenclaturalMicroReference());
357 357
		
358 358
		//Special MicroRefs
359 359
		String strSpecDetail2 = "Abies alba Mill. in Sp. Pl. 4(6): couv. 2. 1987";
360
		NonViralName<?> nameSpecDet2 = parser.parseFullReference(strSpecDetail2 + ".", null, Rank.SPECIES());
360
		NonViralName<?> nameSpecDet2 = parser.parseReferencedName(strSpecDetail2 + ".", null, Rank.SPECIES());
361 361
		assertFalse(nameSpecDet2.hasProblem());
362 362
		assertEquals(strSpecDetail2, nameSpecDet2.getFullTitleCache());
363 363
		assertEquals("couv. 2", nameSpecDet2.getNomenclaturalMicroReference());
364 364
		
365 365
		//Special MicroRefs
366 366
		String strSpecDetail3 = "Abies alba Mill. in Sp. Pl. 4(6): fig. 455. 1987";
367
		NonViralName<?> nameSpecDet3 = parser.parseFullReference(strSpecDetail3 + ".", null, Rank.SPECIES());
367
		NonViralName<?> nameSpecDet3 = parser.parseReferencedName(strSpecDetail3 + ".", null, Rank.SPECIES());
368 368
		assertFalse(nameSpecDet3.hasProblem());
369 369
		assertEquals(strSpecDetail3, nameSpecDet3.getFullTitleCache());
370 370
		assertEquals("fig. 455", nameSpecDet3.getNomenclaturalMicroReference());
......
372 372
		//Special MicroRefs
373 373
		String strSpecDetail4 = "Abies alba Mill. in Sp. Pl. 4(6): fig. 455-567. 1987";
374 374
		fullReference = strSpecDetail4 + ".";
375
		NonViralName<?> nameSpecDet4 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
375
		NonViralName<?> nameSpecDet4 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
376 376
		assertFalse(nameSpecDet4.hasProblem());
377 377
		assertEquals(strSpecDetail4, nameSpecDet4.getFullTitleCache());
378 378
		assertEquals("fig. 455-567", nameSpecDet4.getNomenclaturalMicroReference());
......
381 381
		//Special MicroRefs
382 382
		String strSpecDetail5 = "Abies alba Mill. in Sp. Pl. 4(6): Gard n? 4. 1987";
383 383
		fullReference = strSpecDetail5 + ".";
384
		NonViralName<?> nameSpecDet5 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
384
		NonViralName<?> nameSpecDet5 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
385 385
		assertFalse(nameSpecDet5.hasProblem());
386 386
		assertEquals(strSpecDetail5, nameSpecDet5.getFullTitleCache());
387 387
		assertEquals("Gard n? 4", nameSpecDet5.getNomenclaturalMicroReference());
......
389 389
		//Special MicroRefs
390 390
		String strSpecDetail6 = "Abies alba Mill. in Sp. Pl. 4(6): 455a. 1987";
391 391
		fullReference = strSpecDetail6 + ".";
392
		NonViralName<?> nameSpecDet6 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
392
		NonViralName<?> nameSpecDet6 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
393 393
		assertFalse(nameSpecDet6.hasProblem());
394 394
		assertEquals(strSpecDetail6, nameSpecDet6.getFullTitleCache());
395 395
		assertEquals("455a", nameSpecDet6.getNomenclaturalMicroReference());
......
397 397
		//Special MicroRefs
398 398
		String strSpecDetail7 = "Abies alba Mill. in Sp. Pl. 4(6): pp.455-457. 1987";
399 399
		fullReference = strSpecDetail7 + ".";
400
		NonViralName<?> nameSpecDet7 = parser.parseFullReference(fullReference, null, Rank.SPECIES());
400
		NonViralName<?> nameSpecDet7 = parser.parseReferencedName(fullReference, null, Rank.SPECIES());
401 401
		assertFalse(nameSpecDet7.hasProblem());
402 402
		assertEquals(strSpecDetail7, nameSpecDet7.getFullTitleCache());
403 403
		assertEquals("pp.455-457", nameSpecDet7.getNomenclaturalMicroReference());
404 404
		
405 405
		//Special MicroRefs
406 406
		String strSpecDetail8 = "Abies alba Mill. in Sp. Pl. 4(6): ppp.455-457. 1987";
407
		NonViralName<?> nameSpecDet8 = parser.parseFullReference(strSpecDetail8, null, Rank.SPECIES());
407
		NonViralName<?> nameSpecDet8 = parser.parseReferencedName(strSpecDetail8, null, Rank.SPECIES());
408 408
		assertTrue(nameSpecDet8.hasProblem());
409 409
		assertEquals(20, nameSpecDet8.getProblemStarts()); //TODO better start behind :
410 410
		assertEquals(51, nameSpecDet8.getProblemEnds());   //TODO better stop after -457
......
412 412

  
413 413
		//Special MicroRefs
414 414
		String strSpecDetail9 = "Abies alba Mill. in Sp. Pl. 4(6): pp. 455 - 457. 1987";
415
		NonViralName<?> nameSpecDet9 = parser.parseFullReference(strSpecDetail9, null, Rank.SPECIES());
415
		NonViralName<?> nameSpecDet9 = parser.parseReferencedName(strSpecDetail9, null, Rank.SPECIES());
416 416
		assertFalse(nameSpecDet9.hasProblem());
417 417
		assertEquals(strSpecDetail9, nameSpecDet9.getFullTitleCache());
418 418
		assertEquals("pp. 455 - 457", nameSpecDet9.getNomenclaturalMicroReference());
419 419

  
420 420
		//Special MicroRefs
421 421
		String strSpecDetail10 = "Abies alba Mill. in Sp. Pl. 4(6): p 455. 1987";
422
		NonViralName<?> nameSpecDet10 = parser.parseFullReference(strSpecDetail10, null, Rank.SPECIES());
422
		NonViralName<?> nameSpecDet10 = parser.parseReferencedName(strSpecDetail10, null, Rank.SPECIES());
423 423
		assertFalse(nameSpecDet10.hasProblem());
424 424
		assertEquals(strSpecDetail10, nameSpecDet10.getFullTitleCache());
425 425
		assertEquals("p 455", nameSpecDet10.getNomenclaturalMicroReference());
426 426
		
427 427
		//Special MicroRefs
428 428
		String strSpecDetail11 = "Abies alba Mill. in Sp. Pl. 4(6): p. 455 - 457. 1987";
429
		NonViralName<?> nameSpecDet11 = parser.parseFullReference(strSpecDetail11, null, Rank.SPECIES());
429
		NonViralName<?> nameSpecDet11 = parser.parseReferencedName(strSpecDetail11, null, Rank.SPECIES());
430 430
		assertTrue(nameSpecDet11.hasProblem());
431 431
		assertEquals(20, nameSpecDet8.getProblemStarts()); //TODO better start behind :
432 432
		assertEquals(51, nameSpecDet8.getProblemEnds());   //TODO better stop after - 457
......
434 434
		
435 435
		//no volume, no edition
436 436
		String strNoVolume = "Abies alba Mill., Sp. Pl.: 455. 1987";
437
		NonViralName<?> nameNoVolume = parser.parseFullReference(strNoVolume, null, Rank.SPECIES());
437
		NonViralName<?> nameNoVolume = parser.parseReferencedName(strNoVolume, null, Rank.SPECIES());
438 438
		assertFalse(nameNoVolume.hasProblem());
439 439
		assertEquals(strNoVolume, nameNoVolume.getFullTitleCache());
440 440
		assertEquals(null, ((Book)nameNoVolume.getNomenclaturalReference()).getVolume());
......
442 442

  
443 443
		//volume, no edition
444 444
		strNoVolume = "Abies alba Mill., Sp. Pl. 2: 455. 1987";
445
		nameNoVolume = parser.parseFullReference(strNoVolume, null, Rank.SPECIES());
445
		nameNoVolume = parser.parseReferencedName(strNoVolume, null, Rank.SPECIES());
446 446
		assertFalse(nameNoVolume.hasProblem());
447 447
		assertEquals(strNoVolume, nameNoVolume.getFullTitleCache());
448 448
		assertEquals("2", ((Book)nameNoVolume.getNomenclaturalReference()).getVolume());
......
450 450

  
451 451
		//no volume, edition
452 452
		strNoVolume = "Abies alba Mill., Sp. Pl. ed. 3: 455. 1987";
453
		nameNoVolume = parser.parseFullReference(strNoVolume, null, Rank.SPECIES());
453
		nameNoVolume = parser.parseReferencedName(strNoVolume, null, Rank.SPECIES());
454 454
		assertFalse(nameNoVolume.hasProblem());
455 455
		assertEquals(strNoVolume, nameNoVolume.getFullTitleCache());
456 456
		assertEquals(null, ((Book)nameNoVolume.getNomenclaturalReference()).getVolume());
......
458 458
		
459 459
		//volume, edition
460 460
		strNoVolume = "Abies alba Mill., Sp. Pl. ed. 3, 4(5): 455. 1987";
461
		nameNoVolume = parser.parseFullReference(strNoVolume, null, Rank.SPECIES());
461
		nameNoVolume = parser.parseReferencedName(strNoVolume, null, Rank.SPECIES());
462 462
		assertFalse(nameNoVolume.hasProblem());
463 463
		assertEquals(strNoVolume, nameNoVolume.getFullTitleCache());
464 464
		assertEquals("4(5)", ((Book)nameNoVolume.getNomenclaturalReference()).getVolume());
465 465
		assertEquals("3", ((Book)nameNoVolume.getNomenclaturalReference()).getEdition());
466 466
		
467 467
		String strUnparsableInRef = "Abies alba Mill. in -er46: 455. 1987";
468
		NonViralName<?> nameUnparsableInRef = parser.parseFullReference(strUnparsableInRef, null, Rank.SPECIES());
468
		NonViralName<?> nameUnparsableInRef = parser.parseReferencedName(strUnparsableInRef, null, Rank.SPECIES());
469 469
		assertTrue(nameUnparsableInRef.hasProblem());
470 470
		assertEquals(strUnparsableInRef, nameUnparsableInRef.getFullTitleCache());
471 471
		assertEquals(20, nameUnparsableInRef.getProblemStarts()); 
......
474 474
		
475 475
		//volume, edition
476 476
		String strNoSeparator = "Abies alba Mill. Sp. Pl. ed. 3, 4(5): 455. 1987";
477
		NonViralName<?> nameNoSeparator = parser.parseFullReference(strNoSeparator, NomenclaturalCode.ICBN(), Rank.SPECIES());
477
		NonViralName<?> nameNoSeparator = parser.parseReferencedName(strNoSeparator, NomenclaturalCode.ICBN(), Rank.SPECIES());
478 478
		assertTrue(nameNoSeparator.hasProblem());
479 479
		assertEquals(strNoSeparator, nameNoSeparator.getFullTitleCache());
480 480
		assertEquals(10, nameNoSeparator.getProblemStarts()); //TODO better start behind Mill. (?)
481 481
		assertEquals(47, nameNoSeparator.getProblemEnds());   //TODO better stop before :
482 482
		
483
		String strUnparsableInRef2 = "Hieracium pepsicum L., My Bookkkk 1. 1903";
484
		NonViralName<?> nameUnparsableInRef2 = parser.parseReferencedName(strUnparsableInRef2, null, Rank.SPECIES());
485
		assertTrue(nameUnparsableInRef2.hasProblem());
486
		assertEquals(strUnparsableInRef2, nameUnparsableInRef2.getFullTitleCache());
487
		assertEquals(23, nameUnparsableInRef2.getProblemStarts()); 
488
		assertEquals(41, nameUnparsableInRef2.getProblemEnds());   
489
	
490
		
483 491
		
484 492
	}
485 493

  

Also available in: Unified diff