Skip to content

mkouznetsov-git/delivery-cost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Тестовая задача. Расчёт стоимости доставки груза.

Пояснения

Для выполнения основной логики расчёта используется класс DeliveryCostCalculator.

Для запуска приложения используется класс Main с 4 параметрами:

  1. args[0] -- расстояние до пункта назначения (Integer);
  2. args[1] -- размер груза (Boolean: true -- большой, false -- небольшой);
  3. args[2] -- фактор хрупкости груза (Boolean: true -- хрупкий, false -- нехрупкий);
  4. args[3] -- степень загруженности службы доставки и соответствующий коэффициент-мультипликатор стоимости (String: "normal" -- 1.0, "middle" -- 1.2, "high" -- 1.4, "highest" -- 1.6);

DeliveryCostBlackBoxTest -- тесты для проверки логики по методу "чёрного ящика".

DeliveryCostWhiteBoxText -- тесты кода для проверки по методу "белого ящика".

Условия

Стоимость рассчитывается в зависимости от следующих условий.

Расстояние до пункта назначения

  • более 30 км: +300 рублей к доставке;
  • до 30 км: +200 рублей к доставке;
  • до 10 км: +100 рублей к доставке;
  • до 2 км: +50 рублей к доставке.

Габариты груза

  • большие габариты: +200 рублей к доставке;
  • маленькие габариты: +100 рублей к доставке;

Хрупкость груза

  • если груз хрупкий: +300 рублей к доставке;
  • хрупкие грузы нельзя возить на расстояние более 30 км.

Загруженность службы доставки

Стоимость умножается на коэффициент доставки:

  • очень высокая загруженность ("highest") — 1.6;
  • высокая загруженность ("high") — 1.4;
  • повышенная загруженность ("middle") — 1.2;
  • во всех остальных случаях ("normal") коэффициент равен 1.

Дополнительные условия

  • Минимальная сумма доставки — 400 рублей; если сумма доставки меньше минимальной, выводится минимальная сумма.

Входные параметры

  • расстояние до пункта назначения;
  • габариты;
  • информацию о хрупкости;
  • загруженность службы на текущий момент

Результат на выходе

  • Пользователь получает стоимость доставки.

About

Delivery cost function

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages