### Question:
EventsRequest extends PageablePricesRequest { @Override public Map<String, String> parameters() { Map<String, String> parameters = new HashMap<>(); if (Objects.nonNull(after)) { parameters.put("after", after.toString()); } if (Objects.nonNull(before)) { parameters.put("before", before.toString()); } if (Objects.nonNull(eventIds) && !eventIds.isEmpty()) { List<String> ids = eventIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("ids", String.join(",", ids)); } if (Objects.nonNull(categoryIds) && !categoryIds.isEmpty()) { List<String> ids = categoryIds.stream() .map(String::valueOf) .collect(Collectors.toList()); parameters.put("category-ids", String.join(",", ids)); } 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(statuses) && !statuses.isEmpty()) { List<String> states = statuses.stream() .map(EventStatus::name) .collect(Collectors.toList()); parameters.put("states", String.join(",", states)); } parameters.put("include-event-participants", String.valueOf(includeEventParticipants)); if (includePrices) { parameters.put("include-prices", "true"); parameters.putAll(pricesParameters()); } return parameters; } private  EventsRequest(Init<?> init); Instant getAfter(); Instant getBefore(); Set<Long> getSportIds(); Set<Long> getCategoryIds(); Set<Long> getEventIds(); Set<EventStatus> getStatuses(); boolean includeEventParticipants(); boolean includePrices(); @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("after", after.toString()), tuple("before", before.toString()), tuple("sport-ids", sportIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("category-ids", categoryIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("ids", eventIds.stream().map(String::valueOf).collect(Collectors.joining(","))), tuple("states", statuses.stream().map(EventStatus::name).collect(Collectors.joining(","))), tuple("include-event-participants", "true"), tuple("include-prices", "true") ); assertThat(emptyUnit.parameters()) .doesNotContainKeys("after", "before", "sport-ids", "category-ids", "ids", "states", "include-prices") .extractingFromEntries(Map.Entry::getKey, Map.Entry::getValue) .contains(tuple("include-event-participants", "false")); }