### Question:
BaseRequest extends AbstractRequest<T> { @Override @NonNull public String getUrl() { int method = getMethod(); String topUrl = super.getUrl(); if (method == Method.GET) { return parseGetUrl(method, topUrl, getParams(), getParamsEncoding()); } return topUrl; } protected  BaseRequest(Builder builder); @NonNull String getJsonContentType(); @Override @NonNull String getBodyContentType(); @Nullable byte[] getJsonBody(); @Override @NonNull String getUrl(); @Nullable Object getJsonObject(); @Override @Nullable Map<String, String> getParams();  }### Answer:
@Test public void builderPostGenerationWierdValue() throws Exception { BaseRequest.Builder<DummyResponse> builder = new BaseRequest.Builder<>(Request.Method.POST, url, DummyResponse.class); builder.headers(headersWithContentType); BaseRequest<DummyResponse> baseRequest = builder.build(); assertEquals("The url should be the same", url, baseRequest.getUrl()); assertEquals("The method should be the same", Request.Method.POST, baseRequest.getMethod()); Map returnedMap = baseRequest.getHeaders(); for (String key : headersWithContentType.keySet()) { assertTrue("The key should be contained", returnedMap.containsKey(key)); assertEquals("The same value should be contained", headersWithContentType.get(key), returnedMap.get(key)); } }
@Test public void builderPatchGenerationWierdValue() throws Exception { BaseRequest.Builder<DummyResponse> builder = new BaseRequest.Builder<>(Request.Method.PATCH, url, DummyResponse.class); builder.headers(headersWithContentType); BaseRequest<DummyResponse> baseRequest = builder.build(); assertEquals("The url should be the same", url, baseRequest.getUrl()); assertEquals("The method should be the same", Request.Method.PATCH, baseRequest.getMethod()); Map returnedMap = baseRequest.getHeaders(); for (String key : headersWithContentType.keySet()) { assertTrue("The key should be contained", returnedMap.containsKey(key)); assertEquals("The same value should be contained", headersWithContentType.get(key), returnedMap.get(key)); } }