Многоуважаемый валидатор не желает пропускать третий пункт, ссылаясь на ошибку:
Метод execute() класса WithdrawCommand должен вызывать метод askCurrencyCode() у ConsoleHelper.
Но, как можно видеть, в указанном месте вызов этого метода четко прописан:
String currencyCode = ConsoleHelper.askCurrencyCode();
CurrencyManipulator manipulator = CurrencyManipulatorFactory.getManipulatorByCurrencyCode(currencyCode);
Сама программа корректно выполняет свою работу.
Хотелось бы найти причину, из-за которой валидатор решил посмеяться надо мной.
if (!manipulator.isAmountAvailable(count))
continue;
else {
TreeMap denominations;
denominations = (TreeMap) manipulator.withdrawAmount(count);
denominations.forEach((key, value) -> ConsoleHelper.writeMessage("\t" + key + " - " + value));
ConsoleHelper.writeMessage("Transaction successful!");
break;
}