Skip to content

Тестовое здание №2 - Авиаперелеты

Notifications You must be signed in to change notification settings

AlexandrBurmistroff/gridnine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Авиаперелеты


Задача

Имеется некая система, которая обрабатывает авиаперелёты. Перелёт — это перевозка пассажира из одной точки в другую с возможными промежуточными посадками. Т. о. перелёт можно представить как набор из одного или нескольких элементарных перемещений, называемых сегментами.

Сегмент — это атомарная перевозка, которую для простоты будем характеризовать всего двумя атрибутами:

  • дата/время вылета
  • дата/время прилёта.

    Написан небольшой модуль, который занимается фильтрацией набора перелётов согласно различным правилам. Правил фильтрации может быть очень много. Также наборы перелётов могут быть очень большими. Правила могут выбираться и задаваться динамически в зависимости от контекста выполнения операции фильтрации.

    Создана некая структура модуля,имеются необходимые классы и интерфейсы. Код покрыт JUnit тестами.
    Пользовательский интерфейс не рассматривается. Вывод информации в консоль. Никаких сторонних библиотек не используется.

    Приложенный файл TestClasses.java содержит упрощённые модельные классы и фабрику для получения тестовых образцов. Весь код необходимо поместить в пакет com.gridnine.testing

    Для проверочного запуска создан публичный класс Main c методом main() Этот метод выдает в консоль результаты обработки тестового набора перелётов. Получаем тестовый набор методом FlightBuilder.createFlights()

    В main() содержится следующий проверочный код. Исключить из тестового набора перелёты по следующим правилам (по каждому правилу нужен отдельный вывод списка перелётов):

  • Вылет до текущего момента времени
  • Имеются сегменты с датой прилёта раньше даты вылета
  • Общее время, проведённое на земле превышает два часа (время на земле — это интервал между прилётом одного сегмента и вылетом следующего за ним)
  • About

    Тестовое здание №2 - Авиаперелеты

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages