package org.orbeon.oxf.util;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
public class StringConversionsTest
{
@Test
public void testAddValueToStringArrayMap() {
Map<String, String[]> actual = new HashMap<String, String[]>();
StringConversions.addValueToStringArrayMap(actual, "key", "value");
StringConversions.addValueToStringArrayMap(actual, "key2", "value2");
StringConversions.addValueToStringArrayMap(actual, "key2", "value3");
Map<String, String[]> expected = new HashMap<String, String[]>();
expected.put("key", new String[]{"value"});
expected.put("key2", new String[]{"value2", "value3"});
assertMapEquals(expected, actual);
}
private void assertMapEquals(Map<String, String[]> expectedMap, Map<String, String[]> actualMap) {
for(Map.Entry<String, String[]> expectedEntry : expectedMap.entrySet()) {
String key = expectedEntry.getKey();
String[] actual = actualMap.get(key);
assertArrayEquals(expectedEntry.getValue(), actual);
actualMap.remove(key);
}
assertEquals("Actual map contains extra elements", 0, actualMap.size());
}
@Test
public void testAddValuesToStringArrayMap() {
Map<String, String[]> actual = new HashMap<String, String[]>();
StringConversions.addValuesToStringArrayMap(actual, "key", new String[]{"value"});
StringConversions.addValuesToStringArrayMap(actual, "key2", new String[]{"value2", "value3"});
StringConversions.addValuesToStringArrayMap(actual, "key2", new String[]{"value4", "value5"});
Map<String, String[]> expected = new HashMap<String, String[]>();
expected.put("key", new String[]{"value"});
expected.put("key2", new String[]{"value2", "value3", "value4", "value5"});
assertMapEquals(expected, actual);
}
}