Запрос на реализацию уникального свойства id, который тестируется с одиночным добавлением в set - PullRequest
0 голосов
/ 12 сентября 2018

Недавно я боролся с задачей программирования в тесте кода для приглашения на собеседование: был класс Flight со свойством final String flightNo. Изначально flightNo было передано в конструктор.

Задача состояла в том, чтобы убедиться, что номера рейсов уникальны (без дополнительной информации) и изменить код только в Flight. Тем не менее, тест на заводную спок (дополнительную информацию см. https://www.baeldung.com/groovy-spock)

given:
    Flight flight0 = new Flight("FN123")
    FlightManager flightManager = ...
    flightManager.addNewFlight(flight0)
when:
    Flight flight1 = new Flight("FN123")
    boolean added = flightManager.addNewFlight(flight1)
then:
    !added

FlightManager.addNewFlight добавляет Flight s к Set. У меня не было много времени, и я был новичком в синтаксисе тестов спока (тем временем мне нравится идея).

Впоследствии я узнал, что тестовый прогон, если я реализую Flight.equals и hashCode на основе flightNo.

Правильно ли запрашивать уникальность номеров рейсов (без дополнительной информации) при поиске описанного решения?

...