Лифты и пассажиры

 

Предлагается реализовать приложение для управления вертикальным лифтом жилого дома

Условия
1. Имеются две кабины лифта: грузовая и пассажирская
2. На панели вызова лифта предусмотрены две кнопки вызова - вверх и вниз. Для первого и последнего этажа по одной кнопке соотв..  Условно можно считать, если пассажир вызывает лифт вниз, то он хочет поехать на первый этаж, если наверх, то соотв. на последний
3. При движении лифт может подбирать попутчиков
4. Лифт имеет следующие функции/состояния - движение вверх, движение вниз, остановка
5. Процессом посадки/высадки пассажиров лифта пренебречь, считаем, что это происходит при состоянии "остановка" в п.4
6. Переключение состояний п.4 происходит за константное время
7. Время движения между этажами является константой
8. Количество этажей дома не менее двух

Ограничения
1. Реализовать на java
2. Для сборки использовать gradle
3. Покрытие юнит-тестами не менее 70% кода

Тут мое решение

Published on July 24th, 2019