package org.gedcomx.conclusion; import org.gedcomx.common.*; import org.gedcomx.source.SourceReference; import org.gedcomx.types.DocumentType; import org.testng.annotations.Test; import static org.testng.AssertJUnit.*; public class DocumentTest { @Test public void testDocument() throws Exception { Document document = new Document(); document.setKnownType(DocumentType.Abstract); assertNull(document.getId()); assertNull(document.getText()); assertNull(document.getSources()); assertNull(document.getAttribution()); assertNull(document.getNotes()); assertNull(document.getExtensionElements()); document.setId("DDDD-DDD"); document.setText("(The text of the document abstract goes here.)"); document.setLang("en-US"); document.addSource(new SourceReference()); document.getSources().get(0).setDescriptionRef(URI.create("urn:original-source1")); document.addSource(new SourceReference()); document.getSources().get(1).setDescriptionRef(URI.create("urn:original-source2")); document.setAttribution(new Attribution()); document.getAttribution().setContributor(new ResourceReference(URI.create("urn:contributor-id"))); document.addNote(new Note()); document.getNotes().get(0).setText("(This is an example note #1, though not one to be emulated too closely.)"); document.addNote(new Note()); document.getNotes().get(1).setText("(This is an example note #2, though not one to be emulated too closely.)"); document.addExtensionElement(new CustomEntity("1234")); document.addExtensionElement(new CustomEntity("2345")); assertEquals(DocumentType.Abstract, document.getKnownType()); assertEquals(document.getId(), "DDDD-DDD"); assertEquals(document.getLang(), "en-US"); assertEquals(document.getText(), "(The text of the document abstract goes here.)"); assertEquals(document.getSources().size(), 2); assertEquals(document.getSources().get(0).getDescriptionRef().toURI().toString(), "urn:original-source1"); assertEquals(document.getSources().get(1).getDescriptionRef().toURI().toString(), "urn:original-source2"); assertEquals(document.getNotes().size(), 2); assertEquals(document.getNotes().get(0).getText(), "(This is an example note #1, though not one to be emulated too closely.)"); assertEquals(document.getNotes().get(1).getText(), "(This is an example note #2, though not one to be emulated too closely.)"); assertNotNull(document.getExtensionElements()); assertEquals(document.getExtensionElements().size(), 2); assertEquals(((CustomEntity)document.getExtensionElements().get(0)).getId(), "1234"); assertEquals(((CustomEntity)document.getExtensionElements().get(1)).getId(), "2345"); assertNull(document.findExtensionOfType(String.class)); assertEquals(document.findExtensionOfType(CustomEntity.class).getId(), "1234"); assertEquals(document.findExtensionsOfType(String.class).size(), 0); assertEquals(document.findExtensionsOfType(CustomEntity.class).size(), 2); assertEquals(document.findExtensionsOfType(CustomEntity.class).get(1).getId(), "2345"); document.setSources(null); document.addSource(null); document.setNotes(null); document.addNote(null); document.setExtensionElements(null); assertNull(document.getSources()); assertNull(document.getNotes()); assertNull(document.findExtensionOfType(CustomEntity.class)); assertEquals(document.findExtensionsOfType(CustomEntity.class).size(), 0); } }