### Question:
ExtraColumnsMetaDataProvider implements MetaDataProvider { @Override public List<Object> getValues() { List<String> keys = getKeys(); List<Object> values = New.list(); for (String key : keys) { values.add(getValue(key)); } return New.unmodifiableList(values); } protected  ExtraColumnsMetaDataProvider(ExtraColumnsMetaDataProvider source);  ExtraColumnsMetaDataProvider(MetaDataProvider original, Map<String, Object> extraColumns); @Override List<String> getKeys(); @Override Object getValue(String key); @Override List<Object> getValues(); @Override boolean hasKey(String key); @Override boolean keysMutable(); @Override void removeKey(String key); @Override boolean setValue(String key, Serializable value); @Override boolean valuesMutable(); Map<String, Object> getExtraColumns(); MetaDataProvider getOriginal(); @Override MetaDataProvider createCopy(DataTypeInfo newDatatype);  }### Answer:
@Test public void testGetValues() { EasyMockSupport support = new EasyMockSupport(); MetaDataProvider original = createProvider(support); Map<String, Object> extras = createExtraColumns(); support.replayAll(); ExtraColumnsMetaDataProvider provider = new ExtraColumnsMetaDataProvider(original, extras); List<Object> values = provider.getValues(); assertEquals(5, values.size()); assertEquals("val1", values.get(0)); assertEquals("val", values.get(1)); assertEquals("val3", values.get(2)); assertEquals("val4", values.get(3)); assertEquals("val5", values.get(4)); support.verifyAll(); }