Revision ece7e0ae
Added by Andreas Müller almost 6 years ago
cdmlib-model/src/test/java/eu/etaxonomy/cdm/strategy/cache/reference/DefaultReferenceCacheStrategyTest.java | ||
---|---|---|
22 | 22 |
|
23 | 23 |
import eu.etaxonomy.cdm.model.agent.Person; |
24 | 24 |
import eu.etaxonomy.cdm.model.agent.Team; |
25 |
import eu.etaxonomy.cdm.model.common.TimePeriod; |
|
26 | 25 |
import eu.etaxonomy.cdm.model.common.VerbatimTimePeriod; |
27 | 26 |
import eu.etaxonomy.cdm.model.reference.IArticle; |
28 | 27 |
import eu.etaxonomy.cdm.model.reference.IBook; |
... | ... | |
116 | 115 |
cdDvd.setTitle(cdDvdTitle); |
117 | 116 |
String publisher = "An ugly publisher"; //not yet implemented |
118 | 117 |
String place = "A beutiful place"; //not yet implemented |
119 |
TimePeriod publicationDate = TimePeriod.NewInstance(1999, 2001);
|
|
118 |
VerbatimTimePeriod publicationDate = VerbatimTimePeriod.NewVerbatimInstance(1999, 2001);
|
|
120 | 119 |
cdDvd.setDatePublished(publicationDate); |
121 | 120 |
|
122 | 121 |
//Generic |
... | ... | |
140 | 139 |
article1.setTitle("My article"); |
141 | 140 |
article1.setInJournal(journal1); |
142 | 141 |
article1.setAuthorship(articleTeam1); |
143 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
142 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
144 | 143 |
Assert.assertEquals("Team1, My article in My journal. 1975", article1.getTitleCache()); |
145 | 144 |
|
146 | 145 |
article1.setInJournal(null); |
... | ... | |
157 | 156 |
article1.setTitle("My article"); |
158 | 157 |
article1.setInJournal(journal1); |
159 | 158 |
article1.setAuthorship(articleTeam1); |
160 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
159 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
161 | 160 |
Assert.assertEquals("Team1, My article in My journal. 1975", article1.getTitleCache()); |
162 | 161 |
|
163 | 162 |
article1.setInJournal(null); |
... | ... | |
172 | 171 |
article1.setTitle("My article"); |
173 | 172 |
article1.setInJournal(journal1); |
174 | 173 |
article1.setAuthorship(articleTeam1); |
175 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
174 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
176 | 175 |
Assert.assertEquals("Team1, My article in My journal. 1975", article1.getTitleCache()); |
177 | 176 |
article1.setPages("12-22"); |
178 | 177 |
Assert.assertEquals("Team1, My article in My journal: 12-22. 1975", article1.getTitleCache()); |
... | ... | |
194 | 193 |
article1.setTitle("My article"); |
195 | 194 |
article1.setInJournal(journal1); |
196 | 195 |
article1.setAuthorship(articleTeam1); |
197 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
196 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
198 | 197 |
article1.setAbbrevTitle("M. Art."); |
199 | 198 |
Assert.assertEquals("T., M. Art. in M. Journ. 1975", article1.getAbbrevTitleCache()); //double dot may be removed in future #3645 |
200 | 199 |
|
... | ... | |
212 | 211 |
article1.setTitle("My article"); |
213 | 212 |
article1.setInJournal(journal1); |
214 | 213 |
article1.setAuthorship(articleTeam1); |
215 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
214 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
216 | 215 |
Assert.assertEquals("in M. J.: 55. 1975", article1.getNomenclaturalCitation(detail1)); |
217 | 216 |
|
218 | 217 |
article1.setVolume("22"); |
... | ... | |
233 | 232 |
article1.setVolume("22"); |
234 | 233 |
journal1.setAbbrevTitle("J. Pl. Eur."); |
235 | 234 |
journal1.setAuthorship(articleTeam2); |
236 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
235 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
237 | 236 |
//no ser, sect, abt |
238 | 237 |
Assert.assertEquals("in J. Pl. Eur. 22: 55. 1975", article1.getNomenclaturalCitation(detail1)); |
239 | 238 |
//ser |
... | ... | |
276 | 275 |
article1.setAuthorship(articleTeam1); |
277 | 276 |
article1.setVolume("34"); |
278 | 277 |
article1.setSeriesPart("ser. 2"); |
279 |
article1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
278 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
280 | 279 |
//FIXME removed for new formatter |
281 | 280 |
// Assert.assertEquals("in My journal, ser. 2, 34", defaultStrategy.getTitleWithoutYearAndAuthor((Reference)article1, false)); |
282 | 281 |
} |
... | ... | |
291 | 290 |
article1.setInJournal(journal1); |
292 | 291 |
article1.setAuthorship(articleAuthor); |
293 | 292 |
article1.setVolume("18"); |
294 |
article1.setDatePublished(TimePeriod.NewInstance(1943));
|
|
293 |
article1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1943));
|
|
295 | 294 |
Assert.assertEquals("Babc. & Stebbins in Univ. Calif. Publ. Bot. 18. 1943", defaultStrategy.getTitleCache((Reference)article1)); |
296 | 295 |
} |
297 | 296 |
|
... | ... | |
301 | 300 |
public void testBookGetTitleCache0(){ |
302 | 301 |
book1.setTitle("My book"); |
303 | 302 |
book1.setAuthorship(bookTeam1); |
304 |
book1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
303 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
305 | 304 |
Assert.assertEquals("Unexpected title cache.", "Book Author, My book. 1975", book1.getTitleCache()); |
306 | 305 |
|
307 | 306 |
book1.setTitleCache(null, false); |
308 | 307 |
book1.setEdition("ed. 3"); |
309 | 308 |
Assert.assertEquals("Unexpected title cache.", "Book Author, My book, ed. 3. 1975", book1.getTitleCache()); |
310 | 309 |
|
311 |
TimePeriod newDatePublished = TimePeriodParser.parseString("1975 (after Aug.)");
|
|
310 |
VerbatimTimePeriod newDatePublished = TimePeriodParser.parseStringVerbatim("1975 (after Aug.)");
|
|
312 | 311 |
book1.setDatePublished(newDatePublished); |
313 | 312 |
book1.setTitleCache(null, false); |
314 | 313 |
//TODO this behaviour needs to be discussed. Maybe better the complete date published string should be returned. |
... | ... | |
327 | 326 |
book1.setAbbrevTitle("Acta Inst. Bot. Acad. Sci. URSS"); |
328 | 327 |
book1.setSeriesPart("1"); |
329 | 328 |
book1.setVolume("Fasc. 11"); |
330 |
book1.setDatePublished(TimePeriodParser.parseString("1955")); |
|
329 |
book1.setDatePublished(TimePeriodParser.parseStringVerbatim("1955"));
|
|
331 | 330 |
Assert.assertEquals("Unexpected abbrev title cache", "Acta Inst. Bot. Acad. Sci. URSS, ser. 1, Fasc. 11. 1955", book1.getTitleCache()); |
332 | 331 |
Assert.assertEquals("Unexpected nomencl. reference", "Acta Inst. Bot. Acad. Sci. URSS, ser. 1, Fasc. 11: 248. 1955", book1.getNomenclaturalCitation("248")); |
333 | 332 |
} |
... | ... | |
339 | 338 |
IBook book1 = ReferenceFactory.newBook(); |
340 | 339 |
book1.setAbbrevTitle("Acta Inst. Bot. Acad. Sci. URSS"); |
341 | 340 |
book1.setVolume("Fasc. 11"); |
342 |
book1.setDatePublished(TimePeriodParser.parseString("1955")); |
|
341 |
book1.setDatePublished(TimePeriodParser.parseStringVerbatim("1955"));
|
|
343 | 342 |
Assert.assertEquals("Unexpected abbrev title cache", "Acta Inst. Bot. Acad. Sci. URSS Fasc. 11. 1955", book1.getTitleCache()); |
344 | 343 |
Assert.assertEquals("Unexpected nomencl. reference", "Acta Inst. Bot. Acad. Sci. URSS Fasc. 11: 248. 1955", book1.getNomenclaturalCitation("248")); |
345 | 344 |
book1.setSeriesPart("1"); |
... | ... | |
350 | 349 |
public void testBookGetNomenclaturalCitation(){ |
351 | 350 |
book1.setTitle("My book"); |
352 | 351 |
book1.setAuthorship(bookTeam1); |
353 |
book1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
352 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
354 | 353 |
Assert.assertEquals("My book: 55. 1975", book1.getNomenclaturalCitation(detail1)); |
355 | 354 |
book1.setAbbrevTitle("Analect. Bot."); |
356 | 355 |
Assert.assertEquals("Analect. Bot. 1975", book1.getNomenclaturalCitation(null)); |
... | ... | |
365 | 364 |
bookSection1.setTitle("My chapter"); |
366 | 365 |
bookSection1.setInBook(book1); |
367 | 366 |
bookSection1.setAuthorship(sectionTeam1); |
368 |
book1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
367 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
369 | 368 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1975", bookSection1.getTitleCache()); |
370 | 369 |
book1.setDatePublished((VerbatimTimePeriod)null); |
371 |
bookSection1.setDatePublished(TimePeriod.NewInstance(1976));
|
|
370 |
bookSection1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1976));
|
|
372 | 371 |
bookSection1.setTitleCache(null, false); |
373 | 372 |
book1.setTitleCache(null, false); |
374 | 373 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1976", bookSection1.getTitleCache()); |
375 |
book1.setDatePublished(TimePeriod.NewInstance(1977));
|
|
374 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1977));
|
|
376 | 375 |
bookSection1.setTitleCache(null, false); |
377 | 376 |
book1.setTitleCache(null, false); |
378 | 377 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1976", bookSection1.getTitleCache()); |
... | ... | |
400 | 399 |
bookSection1.setTitle("My chapter"); |
401 | 400 |
bookSection1.setInBook(book1); |
402 | 401 |
bookSection1.setAuthorship(sectionTeam1); |
403 |
book1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
402 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
404 | 403 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1975", bookSection1.getTitleCache()); |
405 | 404 |
book1.setDatePublished((VerbatimTimePeriod)null); |
406 |
bookSection1.setDatePublished(TimePeriod.NewInstance(1976));
|
|
405 |
bookSection1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1976));
|
|
407 | 406 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1976", bookSection1.getTitleCache()); |
408 |
book1.setDatePublished(TimePeriod.NewInstance(1977));
|
|
407 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1977));
|
|
409 | 408 |
Assert.assertEquals("Unexpected title cache.", "Section Author - My chapter in Book Author, My book. 1976", bookSection1.getTitleCache()); |
410 | 409 |
|
411 | 410 |
|
... | ... | |
422 | 421 |
bookSection1.setTitle("My chapter"); |
423 | 422 |
bookSection1.setInBook(book1); |
424 | 423 |
bookSection1.setAuthorship(sectionTeam1); |
425 |
book1.setDatePublished(TimePeriod.NewInstance(1975));
|
|
424 |
book1.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(1975));
|
|
426 | 425 |
//TODO still unclear which is correct |
427 | 426 |
// Assert.assertEquals("in Book Author, My book: 55. 1975", bookSection1.getNomenclaturalCitation(detail1)); |
428 | 427 |
Assert.assertEquals("in TT., My book: 55. 1975", bookSection1.getNomenclaturalCitation(detail1)); |
... | ... | |
444 | 443 |
book.setVolume("2(3)"); |
445 | 444 |
book.setPlacePublished("Riyadh"); |
446 | 445 |
book.setPublisher("National Herbarium"); |
447 |
book.setDatePublished(TimePeriod.NewInstance(2000));
|
|
446 |
book.setDatePublished(VerbatimTimePeriod.NewVerbatimInstance(2000));
|
|
448 | 447 |
|
449 | 448 |
Team sectionTeam = Team.NewTitledInstance("Chaudhary S. A.", "Chaudhary S. A."); |
450 | 449 |
IBookSection bookSection = ReferenceFactory.newBookSection(); |
... | ... | |
517 | 516 |
public void testGenericGetAbbrevTitleCache(){ |
518 | 517 |
generic1.setTitle("Part Title"); |
519 | 518 |
generic1.setAbbrevTitle("Pt. Tit."); |
520 |
generic1.setDatePublished(TimePeriodParser.parseString("1987")); |
|
519 |
generic1.setDatePublished(TimePeriodParser.parseStringVerbatim("1987"));
|
|
521 | 520 |
IBook book1 = ReferenceFactory.newBook(); |
522 | 521 |
book1.setTitle("My book title"); |
523 | 522 |
book1.setAbbrevTitle("My bk. tit."); |
... | ... | |
548 | 547 |
Assert.assertEquals("Unexpected nom. ref.", "My prot. abb. tit. in a bk.", generic1.getNomenclaturalCitation("")); |
549 | 548 |
Assert.assertEquals("Unexpected nom. ref.", "My prot. abb. tit. in a bk.: pp. 44", generic1.getNomenclaturalCitation("pp. 44")); |
550 | 549 |
|
551 |
generic1.setDatePublished(TimePeriodParser.parseString("1893")); |
|
550 |
generic1.setDatePublished(TimePeriodParser.parseStringVerbatim("1893"));
|
|
552 | 551 |
Assert.assertEquals("Unexpected nom. ref.", "My prot. abb. tit. in a bk.: pp. 44. 1893", generic1.getNomenclaturalCitation("pp. 44")); |
553 | 552 |
|
554 | 553 |
} |
... | ... | |
572 | 571 |
@Test |
573 | 572 |
public void testGenericYearAndAuthorOnly(){ |
574 | 573 |
generic1.setAuthorship(genericTeam1); |
575 |
generic1.setDatePublished(TimePeriodParser.parseString("1792")); |
|
574 |
generic1.setDatePublished(TimePeriodParser.parseStringVerbatim("1792"));
|
|
576 | 575 |
generic1.setTitleCache(null, false); //reset cache in case aspectJ is not enabled |
577 | 576 |
Assert.assertEquals("Unexpected title cache.", "Authorteam, 1792", generic1.getTitleCache()); |
578 | 577 |
Assert.assertEquals("1792", generic1.getNomenclaturalCitation(null)); |
... | ... | |
583 | 582 |
generic1.setAuthorship(genericTeam1); |
584 | 583 |
String detail = "sine no."; |
585 | 584 |
generic1.setAbbrevTitle("My title"); |
586 |
generic1.setDatePublished(TimePeriodParser.parseString("1883-1884")); |
|
585 |
generic1.setDatePublished(TimePeriodParser.parseStringVerbatim("1883-1884"));
|
|
587 | 586 |
generic1.setTitleCache(null, false); //reset cache in case aspectJ is not enabled |
588 | 587 |
Assert.assertEquals("My title: sine no. 1883-1884", generic1.getNomenclaturalCitation(detail)); |
589 | 588 |
} |
... | ... | |
593 | 592 |
public void testGenericMissingVolume(){ |
594 | 593 |
generic1.setTitle("My generic"); |
595 | 594 |
generic1.setAuthorship(genericTeam1); |
596 |
generic1.setDatePublished(TimePeriodParser.parseString("1883-1884")); |
|
595 |
generic1.setDatePublished(TimePeriodParser.parseStringVerbatim("1883-1884"));
|
|
597 | 596 |
generic1.setTitleCache(null, false); //reset cache in case aspectJ is not enabled |
598 | 597 |
Assert.assertEquals("My generic: 55. 1883-1884", generic1.getNomenclaturalCitation(detail1)); |
599 | 598 |
generic1.setVolume("7"); |
... | ... | |
606 | 605 |
generic2.setTitle("My InRef"); |
607 | 606 |
Person person2 = Person.NewTitledInstance("InRefAuthor"); |
608 | 607 |
generic2.setAuthorship(person2); |
609 |
generic2.setDatePublished(TimePeriodParser.parseString("1885")); |
|
608 |
generic2.setDatePublished(TimePeriodParser.parseStringVerbatim("1885"));
|
|
610 | 609 |
generic1.setInReference(generic2); |
611 | 610 |
|
612 | 611 |
//only reference has a volume |
... | ... | |
639 | 638 |
database1.setTitle("My database"); |
640 | 639 |
//maybe we should have a trailing dot here |
641 | 640 |
Assert.assertEquals("My database: 55", reference.getNomenclaturalCitation(detail1)); |
642 |
database1.setDatePublished(TimePeriodParser.parseString("1998")); |
|
641 |
database1.setDatePublished(TimePeriodParser.parseStringVerbatim("1998"));
|
|
643 | 642 |
Assert.assertEquals("My database: 55. 1998", reference.getNomenclaturalCitation(detail1)); |
644 | 643 |
|
645 | 644 |
database1.setTitleCache("Your database", true); |
... | ... | |
656 | 655 |
cdDvd.setTitle("My Cd/Dvd"); |
657 | 656 |
//maybe we should have a trailing dot here |
658 | 657 |
Assert.assertEquals("My Cd/Dvd: 55", reference.getNomenclaturalCitation(detail1)); |
659 |
cdDvd.setDatePublished(TimePeriodParser.parseString("1998")); |
|
658 |
cdDvd.setDatePublished(TimePeriodParser.parseStringVerbatim("1998"));
|
|
660 | 659 |
Assert.assertEquals("My Cd/Dvd: 55. 1998", reference.getNomenclaturalCitation(detail1)); |
661 | 660 |
|
662 | 661 |
cdDvd.setTitleCache("Your Cd/Dvd", true); |
... | ... | |
673 | 672 |
webPage.setTitle("My WebPage"); |
674 | 673 |
//maybe we should have a trailing dot here |
675 | 674 |
Assert.assertEquals("My WebPage: 55", reference.getNomenclaturalCitation(detail1)); |
676 |
webPage.setDatePublished(TimePeriodParser.parseString("1998")); |
|
675 |
webPage.setDatePublished(TimePeriodParser.parseStringVerbatim("1998"));
|
|
677 | 676 |
Assert.assertEquals("My WebPage: 55. 1998", reference.getNomenclaturalCitation(detail1)); |
678 | 677 |
|
679 | 678 |
webPage.setTitleCache("Your WebPage", true); |
Also available in: Unified diff
ref #6752 stricter handling of Reference.setDatePublished (only for calling methods)