### Question:
ImmutableQuery implements Query { @Override public Parameter getParameter(String paramName) { checkNotNull(paramName,"Parameter name cannot be null"); return this.parameters.get(paramName); } private  ImmutableQuery(Map<String, ImmutableQueryParameter> params); @Override boolean isEmpty(); @Override int size(); @Override boolean hasParameter(String paramName); @Override Parameter getParameter(String paramName); @Override String toString(); @Override Set<String> parameterNames();  }### Answer:
@Test public void testKeepsAllParameters() { assertThat(queryWithParameters().getParameter(PARAMETER_1),sameInstance((Parameter)singleValuedParameter())); assertThat(queryWithParameters().getParameter(PARAMETER_2),sameInstance((Parameter)multiValuedParameter())); }
@Test public void testReturnsEmptyParametersForUnknownNames() { assertThat(queryWithParameters().getParameter(UNEXISTING_PARAMETER),nullValue()); }