### Question:
AbstractConfigSource implements IConfigSource { @Override public List<String> getList(String prop) { return getList(prop, ImmutableList.<String>of()); }  @Override void initialize(final String asgName, final String region); @Override boolean contains(final String key); @Override boolean isEmpty(); @Override String get(final String key, final String defaultValue); @Override boolean get(final String key, final boolean defaultValue); @Override Class<?> get(final String key, final Class<?> defaultValue); @Override T get(final String key, final T defaultValue); @Override int get(final String key, final int defaultValue); @Override long get(final String key, final long defaultValue); @Override float get(final String key, final float defaultValue); @Override double get(final String key, final double defaultValue); @Override List<String> getList(String prop); @Override List<String> getList(String prop, List<String> defaultValue);  }### Answer:
@Test public void lists() { AbstractConfigSource source = new MemoryConfigSource(); source.set("foo", "bar,baz, qux "); final List<String> values = source.getList("foo"); LOGGER.info("Values {}", values); assertEquals(ImmutableList.of("bar", "baz", "qux"), values); }
@Test public void oneItem() { AbstractConfigSource source = new MemoryConfigSource(); source.set("foo", "bar"); final List<String> values = source.getList("foo"); LOGGER.info("Values {}", values); assertEquals(ImmutableList.of("bar"), values); }
@Test public void oneItemWithSpace() { AbstractConfigSource source = new MemoryConfigSource(); source.set("foo", "\tbar "); final List<String> values = source.getList("foo"); LOGGER.info("Values {}", values); assertEquals(ImmutableList.of("bar"), values); }