package uk.co.acuminous.julez.mapper;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import org.junit.Test;
import uk.co.acuminous.julez.mapper.PatternMapper;
public class PatternMapperTest {
private PatternMapper mapper;
@Test
public void matchesLiteralKeys() {
initDefaultMapper();
assertEquals("Bar", mapper.getValue("Foo"));
}
@Test
public void matchesPattern() {
initDefaultMapper();
assertEquals("Banana", mapper.getValue("Food"));
}
@Test
public void providesAllValues() {
initDefaultMapper();
assertEquals(Arrays.asList("Bar", "Banana", "XXX", "FFF"), new ArrayList<Object>(mapper.getValues()));
}
private void initDefaultMapper() {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("Foo", "Bar");
map.put("F.*d", "Banana");
map.put("X.*", "XXX");
map.put("F.*", "FFF");
mapper = new PatternMapper(map);
}
}