Решил довольно быстро, но наткнулся на такую ошибку: Убедись, что метод withdrawAmount(int expectedAmount) не меняет значение denominations в манипуляторе, если нечем выдать нужную сумму.
Проверял физически, все работает (см. скриншот) Если банкнот нет, то деньги не снимаются. Там же все просто, если сумма, которую списываем в итоге больше нуля выкидываем exception и ничего не меняем, уже поставил доп. проверку, что если сумма после уменьшения четко равна нулю, только тогда меняем denominations, все равно не проходит.
Возможно какая-то проверка чего-то что я не учел или может ошибка в самом методе, а валидатор опять не на то указывает.
![]()

package com.javarush.task.task26.task2613;
public enum Operation {
INFO,
DEPOSIT,
WITHDRAW,
EXIT;
public static Operation getAllowableOperationByOrdinal(Integer i) {
switch (i) {
case 1:
return Operation.INFO;
case 2:
return Operation.DEPOSIT;
case 3:
return Operation.WITHDRAW;
case 4:
return Operation.EXIT;
default:
throw new IllegalArgumentException();
}
}
}
