### Question:
UrlQuery { Iterable<String> parameterValues(String name) { return parameters().stream() .filter(parameter -> parameter.key.equals(name)) .map(Parameter::value) .collect(toList()); } private  UrlQuery(List<Parameter> parameters); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void providesValuesByKey() { assertThat(query.parameterValues("foo"), contains("alpha", "gamma")); assertThat(query.parameterValues("bar"), contains("beta")); assertThat(query.parameterValues("no_such_key"), is(emptyIterable())); }