shad-go/hotelbusiness/README.md

42 lines
3.2 KiB
Markdown
Raw Normal View History

2020-02-24 19:54:48 +00:00
# hotelbusiness
Здравствуйте, Дональд Крямп!
Ваша империя ширится, и теперь в вашем владении премиальный курорт "Koza Hutor: Resort, Spa, Golang 5*".
Поздравляем с успешным приобретением!
Правда, есть нюанс.
Ваш твиттер настолько заряжен энергей на успех и богатство, что предыдущий управляющий курорта сбежал,
едва узнав, что вы собственной персоной планируете посетить курорт!
Ваш верный comrade Эдвард Санден немного разобрался в IT-системах курорта и выяснил,
что курорт интегрирован в международный сервис "Gluking.com" и что к вам уже вот-вот нагрянут гости!
Эдварду удалось выгрузить информацио о заездах и выездах будущих гостей -- см. структуру `hotelbusiness.Guest`.
По техническим причинам все даты заменены на цифры. Эдвард говорит, что ноль -- значит сегодня.
Менеджер по работе с гостями (его зовут Валентин) утверждает, сбежавший управляющий (его имя еще не установлено)
всегда передавал ему информацию о гостях в другом виде. А именно -- см. структуру `hotelbusiness.Load` --
указание, с какой даты сколько гостей ожидается на курорте.
В таком виде Валентин может рассчитать необходмые закупки продуктов, график работы персонала и другие мелочи,
чтобы курорт функционировал в штатном режиме.
Эдвард бы рад рассчитать данные для Валентина в требуемом виде, но, говорит, интернет в Шереметьево так себе.
Давайте покажем всем завистникам вашу мощь и талант! Напишите функцию `hotelbusiness.ComputeLoad`,
покажите всему твиттеру, что еще есть порох в пороховицах!
### Технические уточнения от Валентина
* Если в один день гости и выезжают, и заезжают, то Валентину важно знать количество гостей к ужину: то есть когда все выезжающие выехали, а все заезжающие заехали.
* Для упрощения работы Валентин просит сообщать ему только о датах, когда изменяется загрузка курорта.
### Примеры
Как запустить все тесты:
```
go test -v ./hotelbusiness/...
```