/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.spring;
import junit.framework.TestCase;
import java.util.Map;
import java.util.LinkedHashMap;
import java.util.Iterator;
public class OverridingMapFactoryBeanTest extends TestCase {
private Map<String, String> source = new LinkedHashMap<String, String>();
private Map<String, String> override = new LinkedHashMap<String, String>();
public void setUp() {
source.put("1", "source-1");
source.put("2", "source-2");
override.put("3", "override-3");
}
public void testGetInstance_source() {
OverridingMapFactoryBean factory = new OverridingMapFactoryBean();
factory.setSourceMap(source);
Map<?,?> result = (Map<?,?>) factory.createInstance();
assertEquals(2, result.size());
Iterator<?> it = result.keySet().iterator();
assertEquals("1", (String) it.next());
assertEquals("2", (String) it.next());
assertEquals("source-1", result.get("1"));
assertEquals("source-2", result.get("2"));
}
public void testGetInstance_sourcePlusKeys() {
OverridingMapFactoryBean factory = new OverridingMapFactoryBean();
factory.setSourceMap(source);
factory.setOverridingMap(override);
Map<?,?> result = (Map<?,?>) factory.createInstance();
assertEquals(3, result.size());
Iterator<?> it = result.keySet().iterator();
assertEquals("1", (String) it.next());
assertEquals("2", (String) it.next());
assertEquals("3", (String) it.next());
assertEquals("source-1", result.get("1"));
assertEquals("source-2", result.get("2"));
assertEquals("override-3", result.get("3"));
}
public void testGetInstance_modifyKeys() {
OverridingMapFactoryBean factory = new OverridingMapFactoryBean();
factory.setSourceMap(source);
override.put("1", "override-1");
factory.setOverridingMap(override);
Map<?,?> result = (Map<?,?>) factory.createInstance();
assertEquals(3, result.size());
Iterator<?> it = result.keySet().iterator();
assertEquals("1", (String) it.next());
assertEquals("2", (String) it.next());
assertEquals("3", (String) it.next());
assertEquals("override-1", result.get("1"));
assertEquals("source-2", result.get("2"));
assertEquals("override-3", result.get("3"));
}
}