package org.gedcomx.links; import org.gedcomx.common.URI; import org.testng.annotations.Test; import java.util.ArrayList; import static org.gedcomx.rt.SerializationUtil.processThroughJson; import static org.gedcomx.rt.SerializationUtil.processThroughXml; import static org.testng.AssertJUnit.assertEquals; /** * @author Ryan Heaton */ @Test public class HypermediaConrollableDataTest { /** * tests link xml */ public void testDataXml() throws Exception { CustomData data = createData(); data = processThroughXml(data); assertLink(data); } /** * tests link json */ public void testDataJson() throws Exception { CustomData data = createData(); data = processThroughJson(data); assertLink(data); } private void assertLink(CustomData data) { assertEquals(3, data.getLinks().size()); assertEquals("href1", data.getLink("item").getHref().toString()); assertEquals("template1", data.getLinks("item").get(1).getTemplate()); assertEquals("href3", data.getLink("rel2").getHref().toString()); } private CustomData createData() { CustomData data = new CustomData(); data.setLinks(new ArrayList<Link>()); data.addLink("item", URI.create("href1")); data.addTemplatedLink("item", "template1"); data.getLinks().add(new Link("rel2", URI.create("href3"))); return data; } }