package edu.stanford.nlp.util; import junit.framework.TestCase; import java.util.HashMap; import java.util.Map; import java.util.function.Function; /** * Test some (well, just one at the moment) of the utility methods in Maps * * @author John Bauer */ public class MapsTest extends TestCase { public void testAddAllWithFunction() { Map<String, String> stringMap = new HashMap<String, String>(); Map<String, Integer> intMap = new HashMap<String, Integer>(); Function<Integer, String> toString = new Function<Integer, String>() { public String apply(Integer i) { return i.toString(); } }; Maps.addAll(stringMap, intMap, toString); assertEquals(0, stringMap.size()); intMap.put("foo", 6); Maps.addAll(stringMap, intMap, toString); assertEquals(1, stringMap.size()); assertEquals("6", stringMap.get("foo")); intMap.clear(); intMap.put("bar", 3); Maps.addAll(stringMap, intMap, toString); assertEquals(2, stringMap.size()); assertEquals("6", stringMap.get("foo")); assertEquals("3", stringMap.get("bar")); intMap.clear(); intMap.put("bar", 5); intMap.put("baz", 9); Maps.addAll(stringMap, intMap, toString); assertEquals(3, stringMap.size()); assertEquals("6", stringMap.get("foo")); assertEquals("5", stringMap.get("bar")); assertEquals("9", stringMap.get("baz")); } }