### Question:
BasicHttpRequest implements HttpRequest { @Override public HttpQueryParams parseQuery() { return new StdHttpQueryParams(uri()); } BasicHttpRequest(URI uri, String method, Map<String, List<String>> headers); @Override URI uri(); @Override String method(); @Override HttpHeaders headers(); @Override HttpQueryParams parseQuery();  }### Answer:
@Test public void testParseMissingParams(){ HttpQueryParams params = request.parseQuery(); assertThat(params.allValues("version"), is(Collections.emptyList())); }
@Test public void testParseQueryParamLayers() { HttpQueryParams params = request.parseQuery(); assertThat(params.allValues("layer"), hasItems("a", "b")); }
@Test public void testParseQueryParamLayersIgnoreCase() { HttpQueryParams params = request.parseQuery(); assertThat(params.allValues("LAYER"), hasItems("a", "b")); }
@Test public void testParseQueryParamLayersFirst() { HttpQueryParams params = request.parseQuery(); assertThat(params.firstValue("layer"), is(Optional.of("a")) ); }
@Test public void testParseQueryParamLayersFirstIgnoreCase() { HttpQueryParams params = request.parseQuery(); assertThat(params.firstValue("lAYer"), is(Optional.of("a")) ); }
@Test public void testParseQueryParamsRequest() { HttpQueryParams params = request.parseQuery(); assertThat(params.firstValue("ows"), is(Optional.of("getMap"))); }
@Test public void testParseQueryParamNames() { HttpQueryParams params = request.parseQuery(); assertThat(params.allParams(), hasItems("layer", "ows")); }
@Test public void testParseMissingParam(){ HttpQueryParams params = request.parseQuery(); assertThat(params.firstValue("version"), is(Optional.empty())); }