Objektovo orientované programovanie

4. zadanie

V zdrojových súboroch je trieda Wallet, reprezentujúca peňaženku, obsahujúcu hotovosť. Metóda Wallet.pay(int) znižuje hotovosť o hodnotu zadanú v jej parametri. Ak ale v peňaženke nie je dostatočná hotovosť, alebo zadaná suma (parameter) nie je kladná, tak vyhodí jednu z deklarovaných výnimiek.

Výnimky sú definované v zadaní.

V triede Payer doplňte implementáciu metódy payByWallet(Wallet, int) tak, aby vykonala platbu a vrátila výšku hotovosti po zaplatení. Ak ale volanie wallet.pay(price) vyhodí

Metóda payByWallet(Wallet, int) nevyhadzuje výnimku.

Súčasťou zadania je aj niekoľko unit testov.

Do riešenia môžete doplniť vlastný testovací kód. Ale hodnotené bude len vypracovanie (doplnenie implementácie metódy).

Použite Javu verzie 25.

Odovzdajte komprimovaný projekt vo formáte .zip! Zdrojové súbory projektu musia byť v adresári src alebo src/main/java, podľa toho, aký "buildovací" nástroj používate.

Za riešenie môžete získať 1 bod.