package org.esigate.util; import java.util.Collection; import java.util.Properties; import junit.framework.TestCase; /** * @author Alexis Thaveau */ public class ParameterTest extends TestCase { public void testGetValueString() throws Exception { Parameter<String> parameter1 = new ParameterString("test1", null); Parameter<String> parameter2 = new ParameterString("test2", "2"); Properties properties = new Properties(); assertNull(parameter1.getValue(properties)); assertEquals("2", parameter2.getValue(properties)); properties.put("test1", "0"); properties.put("test2", "2"); assertEquals("0", parameter1.getValue(properties)); assertEquals("2", parameter2.getValue(properties)); } public void testGetValueInteger() throws Exception { Parameter<Integer> parameter1 = new ParameterInteger("test1", null); Parameter<Integer> parameter2 = new ParameterInteger("test2", 2); Properties properties = new Properties(); assertEquals((Integer) 0, parameter1.getValue(properties)); assertEquals((Integer) 2, parameter2.getValue(properties)); properties.put("test1", "0"); properties.put("test2", "2"); assertEquals((Integer) 0, parameter1.getValue(properties)); assertEquals((Integer) 2, parameter2.getValue(properties)); } public void testGetValueFloat() throws Exception { Parameter<Float> parameter1 = new ParameterFloat("test1", null); Parameter<Float> parameter2 = new ParameterFloat("test2", 2f); Properties properties = new Properties(); assertEquals(0f, parameter1.getValue(properties)); assertEquals(2f, parameter2.getValue(properties)); properties.put("test1", "0"); properties.put("test2", "2"); assertEquals(0f, parameter1.getValue(properties)); assertEquals(2f, parameter2.getValue(properties)); } public void testGetValueBoolean() throws Exception { Parameter<Boolean> parameter1 = new ParameterBoolean("test1", Boolean.FALSE); Parameter<Boolean> parameter2 = new ParameterBoolean("test2", Boolean.TRUE); Properties properties = new Properties(); assertFalse(parameter1.getValue(properties)); assertTrue(parameter2.getValue(properties)); properties.put("test1", "false"); properties.put("test2", "false"); assertFalse(parameter1.getValue(properties)); assertFalse(parameter2.getValue(properties)); properties.put("test1", "true"); properties.put("test2", "true"); assertTrue(parameter1.getValue(properties)); assertTrue(parameter2.getValue(properties)); } public void testGetValueCollection() throws Exception { Parameter<Collection<String>> parameter1 = new ParameterCollection("test1"); Parameter<Collection<String>> parameter2 = new ParameterCollection("test2", "v1", "v2"); Properties properties = new Properties(); assertNotNull(parameter1.getValue(properties)); assertTrue(parameter1.getValue(properties).isEmpty()); assertEquals(2, parameter2.getValue(properties).size()); assertTrue(parameter2.getValue(properties).contains("v1")); assertTrue(parameter2.getValue(properties).contains("v2")); properties.put("test1", "v1"); properties.put("test2", "v1,v3"); assertEquals(1, parameter1.getValue(properties).size()); assertTrue(parameter1.getValue(properties).contains("v1")); assertEquals(2, parameter2.getValue(properties).size()); assertTrue(parameter2.getValue(properties).contains("v1")); assertTrue(parameter2.getValue(properties).contains("v3")); } public void testGetValueArray() throws Exception { Parameter<String[]> parameter1 = new ParameterArray("test1", null); Parameter<String[]> parameter2 = new ParameterArray("test2", new String[] {"v1", "v2"}); Properties properties = new Properties(); assertNull(parameter1.getValue(properties)); assertEquals(2, parameter2.getValue(properties).length); assertEquals("v1", parameter2.getValue(properties)[0]); assertEquals("v2", parameter2.getValue(properties)[1]); properties.put("test1", "v1"); properties.put("test2", "v1,v3"); assertEquals(1, parameter1.getValue(properties).length); assertEquals("v1", parameter1.getValue(properties)[0]); assertEquals(2, parameter2.getValue(properties).length); assertEquals("v1", parameter2.getValue(properties)[0]); assertEquals("v3", parameter2.getValue(properties)[1]); } }