/** * Tests {@link MetadataCopier} on a citation. */ public void testCopy() { final DefaultCitation original = create(); final DefaultCitation clone = (DefaultCitation) new MetadataCopier(MetadataStandard.ISO_19115).copy(original); assertCopy(original, clone); }
/** * Tests the formatting of a {@link DefaultCitation} object. * * @see <a href="https://issues.apache.org/jira/browse/SIS-298">SIS-298</a> */ @Test public void testCitation() { final DefaultCitation citation = DefaultCitationTest.create(); final String text = format.format(citation.asTreeTable()); assertMultilinesEquals( "Citation……………………………………………………………………………… Undercurrent\n" + " ├─Alternate title………………………………………………… Andākarento\n" + " ├─Cited responsible party (1 of 2)\n" + " │ ├─Role…………………………………………………………………… Author\n" + " │ └─Party………………………………………………………………… Testsuya Toyoda\n" + " ├─Cited responsible party (2 of 2)\n" + " │ ├─Role…………………………………………………………………… EDITOR\n" + " │ ├─Extent……………………………………………………………… World\n" + " │ │ └─Geographic element\n" + " │ │ ├─West bound longitude…… 180°W\n" + " │ │ ├─East bound longitude…… 180°E\n" + " │ │ ├─South bound latitude…… 90°S\n" + " │ │ ├─North bound latitude…… 90°N\n" + " │ │ └─Extent type code……………… true\n" + " │ └─Party………………………………………………………………… Kōdansha\n" + " ├─Presentation form (1 of 2)…………………… Document digital\n" + " ├─Presentation form (2 of 2)…………………… Document hardcopy\n" + " └─ISBN……………………………………………………………………………… 9782505004509\n", text); }
/** * Tests {@link DefaultCitation#transition(DefaultCitation.State)} to the final state. */ @Test public void testTransitionToFinal() { final DefaultCitation original = create(); final DefaultCitation clone = create(); clone.transition(DefaultCitation.State.FINAL); assertEquals("original.state", DefaultCitation.State.EDITABLE, original.state()); assertEquals("clone.state", DefaultCitation.State.FINAL, clone.state()); assertEquals(original, clone); SimpleInternationalString title = new SimpleInternationalString("Undercurrent"); original.setTitle(title); try { clone.setTitle(title); fail("Frozen metadata shall not be modifiable."); } catch (UnmodifiableMetadataException e) { // This is the expected exception. } }
/** * Tests {@link DefaultCitation#unmodifiable()}. * * @deprecated To be removed after we removed {@link DefaultCitation#unmodifiable()}. */ @Test @Deprecated public void testUnmodifiable() { final DefaultCitation original = create(); final DefaultCitation clone = (DefaultCitation) original.unmodifiable(); // This will invoke 'freeze()'. assertSame("original.unmodifiable", clone, original.unmodifiable()); assertSame("clone.unmodifiable", clone, clone.unmodifiable()); assertEquals("original.state", DefaultCitation.State.EDITABLE, original.state()); assertEquals("clone.state", DefaultCitation.State.FINAL, clone.state()); assertCopy(original, clone); }