package org.mapfish.print.map.tiled; import com.google.common.collect.Multimap; import org.junit.Test; import org.mapfish.print.AbstractMapfishSpringTest; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Test param methods. */ public class AbstractWMXLayerParamsTest { private static final String CUSTOM_PARAMS = "{\"key\": \"value\", \"key2\":[\"value1\", \"value2\"], \"key3\": null}"; @Test public void testCustomParams() throws Exception { final AbstractWMXLayerParams params = new TestParams(); assertEquals(0, params.getCustomParams().size()); params.customParams = AbstractMapfishSpringTest.parseJSONObjectFromString(CUSTOM_PARAMS); final Multimap<String,String> paramMap = params.getCustomParams(); assertCorrectParamsInMap(paramMap); } @Test public void testMergeableParams() throws Exception { final AbstractWMXLayerParams params = new TestParams(); assertEquals(0, params.getMergeableParams().size()); params.customParams = AbstractMapfishSpringTest.parseJSONObjectFromString(CUSTOM_PARAMS); final Multimap<String,String> paramMap = params.getCustomParams(); assertCorrectParamsInMap(paramMap); } private void assertCorrectParamsInMap(Multimap<String, String> paramMap) { assertEquals(4, paramMap.values().size()); assertEquals(3, paramMap.keySet().size()); assertTrue(paramMap.containsEntry("key", "value")); assertTrue(paramMap.containsEntry("key2", "value1")); assertTrue(paramMap.containsEntry("key2", "value2")); assertTrue(paramMap.containsEntry("key3", "null")); } private static class TestParams extends AbstractWMXLayerParams { @Override public String getBaseUrl() { return null; } } }