- Maszyna zawiera produkty.
- Produkty mogą być różnych typów (np. napój Cola 0.25l, batonik czekoladowy, woda mineralna 0.33l itd.).
- Produkty są ułożone na półkach.
- Na jednej półce może być ułożony tylko jeden typ produktu.
- Każdy typ produktu ma określoną cenę.
- Maszyna posiada wyświetlacz.
- Jeżeli wybierzemy numer półki, na wyświetlaczu pojawia się cena produktu.
- Produkty można kupić, wrzucając do automatu monety (nominały: 5, 2, 1, 0.5, 0.2, 0.1).
- Po wrzuceniu każdej kolejnej monety na wyświetlaczu aktualizuje się kwota, którą należy jeszcze wrzucić.
- Jeżeli wybierzemy numer półki i wrzucimy kwotę nie mniejszą, niż cena produktu, to otrzymujemy produkt oraz resztę (pod warunkiem, że automat ma z czego tę resztę wydać).
- Jeżeli wybierzemy numer półki i wrzucimy kwotę mniejszą, niż cena produktu, to musimy wcisnąć “Anuluj”, aby otrzymać pieniądze z powrotem.
- Jeżeli maszyna nie może wydać reszty, wyświetla komunikat informujący o tym oraz zwraca wrzucone monety, nie wydając produktu.
- Przy wydawaniu reszty maszyna może korzystać tylko z monet, które posiada z poprzednich zakupów (nie drukujemy pieniędzy ;-) )
forked from Pragmatists/vending-machine-kata
nkoder/vending-machine-kata-solution
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description or website provided.
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Java 100.0%