package fr.prcaen.externalresources.model; import java.io.StringReader; import java.util.concurrent.ConcurrentHashMap; import org.junit.Test; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertTrue; public final class ResourcesTest { private static final ConcurrentHashMap<String, Resource> EMPTY_HASH_MAP = new ConcurrentHashMap<>(); @Test public void testAdd() throws Exception { Resources resources = new Resources(); resources.add("foo", new Resource("bar")); assertEquals(resources.members.size(), 1); } @Test public void testEntrySet() throws Exception { ConcurrentHashMap<String, Resource> map = EMPTY_HASH_MAP; map.put("foo", new Resource("bar")); Resources resources = new Resources(map); assertEquals(resources.entrySet().size(), 1); } @Test public void testHas() throws Exception { ConcurrentHashMap<String, Resource> map = EMPTY_HASH_MAP; map.put("foo", new Resource("bar")); Resources resources = new Resources(map); assertTrue(resources.has("foo")); } @Test public void testGet() throws Exception { ConcurrentHashMap<String, Resource> map = EMPTY_HASH_MAP; map.put("foo", new Resource("bar")); Resources resources = new Resources(map); assertEquals(resources.get("foo").getAsString(), new Resource("bar").getAsString()); } @Test public void testMerge() throws Exception { Resources firstResources = new Resources(EMPTY_HASH_MAP); firstResources.add("foo", new Resource("bar")); firstResources.add("month", new Resource("june")); Resources lastResources = new Resources(EMPTY_HASH_MAP); lastResources.add("hello", new Resource("world")); lastResources.add("month", new Resource("may")); firstResources.merge(lastResources); assertEquals(firstResources.members.size(), 3); assertTrue(firstResources.has("foo")); assertTrue(firstResources.has("hello")); assertTrue(firstResources.has("month")); assertEquals(firstResources.get("month").getAsString(), "may"); } @Test public void testFromJsonReader() throws Exception { assertNotNull(Resources.fromJson(new StringReader("{\"foo\":\"bar\"}"))); } @Test public void testFromJsonString() throws Exception { assertNotNull(Resources.fromJson("{\"foo\":\"bar\"}")); } @Test public void testFromJsonInputStream() throws Exception { assertNotNull(Resources.fromJson(getClass().getResourceAsStream("/test.json"))); } @Test public void testFromXmlReader() throws Exception { assertNotNull(Resources.fromXml(new StringReader( "<?xml version=\"1.0\" encoding=\"utf-8\"?><resources><integer name=\"max_speed\">75</integer></resources>"))); } @Test public void testFromXmlString() throws Exception { assertNotNull(Resources.fromXml( "<?xml version=\"1.0\" encoding=\"utf-8\"?><resources><integer name=\"max_speed\">75</integer></resources>")); } @Test public void testFromXmlInputStream() throws Exception { assertNotNull(Resources.fromXml(getClass().getResourceAsStream("/test.xml"))); } }