### Question:
OffersGetRequest extends PageableRequest { @Override public Map<String, String> parameters() { Map<String, String> parameters = new HashMap<>(); if (Objects.nonNull(sportIds) && !sportIds.isEmpty()) { List<String> ids = sportIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("sport-ids", String.join(",", ids)); } if (Objects.nonNull(eventIds) && !eventIds.isEmpty()) { List<String> ids = eventIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("event-ids", String.join(",", ids)); } if (Objects.nonNull(marketIds) && !marketIds.isEmpty()) { List<String> ids = marketIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("market-ids", String.join(",", ids)); } if (Objects.nonNull(runnersIds) && !runnersIds.isEmpty()) { List<String> ids = runnersIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("runner-ids", String.join(",", ids)); } if (Objects.nonNull(statuses) && !statuses.isEmpty()) { List<String> states = statuses.stream() .map(OfferStatus::name) .collect(Collectors.toList()); parameters.put("status", String.join(",", states)); } if (Objects.nonNull(side)) { parameters.put("side", side.name()); } if (Objects.nonNull(interval)) { parameters.put("interval", String.valueOf(interval)); } parameters.put("include-edits", String.valueOf(includeEdits)); parameters.putAll(pageParameters()); return parameters; } private  OffersGetRequest(Init<?> init); Set<Long> getSportIds(); Set<Long> getEventIds(); Set<Long> getMarketIds(); Set<Long> getRunnersIds(); Set<OfferStatus> getStatuses(); Side getSide(); Integer getInterval(); boolean includeEdits(); @Override String resourcePath(); @Override Map<String, String> parameters(); @Override String toString();  }### Answer:
@Test @DisplayName("Check query parameters") void parametersTest() { assertThat(unit.parameters()) .extractingFromEntries(Map.Entry::getKey, Map.Entry::getValue) .contains( tuple("sport-ids", sportIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("event-ids", eventIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("market-ids", marketIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("runner-ids", runnersIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("status", statuses.stream().map(OfferStatus::name).collect(Collectors.joining(","))), tuple("side", side.name()), tuple("interval", String.valueOf(interval)), tuple("include-edits", "true") ); assertThat(emptyUnit.parameters()) .doesNotContainKeys("sport-ids", "event-ids", "market-ids", "runner-ids", "status", "side", "interval") .extractingFromEntries(Map.Entry::getKey, Map.Entry::getValue) .contains(tuple("include-edits", "false")); }