- class Atm - непосредственно, банкомат, в котором инкапсулированы находящиеся в нём купюры и реализованны методы для получения их состояния, логики вычисления возможности выдачи
- class AtmCassette - кассета банкомата, в которой хранятся купюры, только лишь, одного номинала + коллекция AsmCassettes
- class Bill - класс купюр, чтобы оперировать не массивами чисел, а коллекциями купюр + коллекция Bills, собственно, коллекция купюр
- class AtmService - фасад для получения / занесения денежных средств
- BasicObjectsTest - простые проверки на элементарную логику работы
- WithdrawCashTest - сложная логика различных вариаций снятия денежных средств
После клонирования проекта необходимо выполнить из корневой директории:
- composer install
Для запуска тестов, выполнить из корневой директории:
- ./vendor/codeception/codeception/codecept run unit