### Question:
AbstractValueProvider implements ValueProvider { @Override public String lookupValue(String key) { String value = parameterMap.getOrDefault(key, getValue(key)); parameterMap.put(key, value); return value; }  @Override void update(Request request, Response response); @Override String lookupValue(String key); @Override Map<String, Object> getParameters(); @Override void setParameters(Map<String, Object> params);  }### Answer:
@Test public void lookupValue_alreadyFound() { assertThat(provider.lookupValue("parameter"), equalTo("value")); }
@Test public void lookupValue_canBeFound() { assertThat(provider.lookupValue("test"), equalTo("yeah")); }
@Test public void lookupValue_cannotBeFound() { assertThat(provider.lookupValue("xxx"), nullValue()); }