Hi.
Sometimes it is not possible to deposit higher amount of money. And if it is, after some smaller deposits ATM says that it does not have enough money in it. (It should be said only when Withdraw).
As a software developer I think -> Variable (Amount of money in ATM) is checked when somebody deposits money. It should not be checked.
Also when ATM has for example 1000 dollars, when somebody Deposits 300, it does 1000-300 = 700. And after 2 more 300 dollar deposits when it has 100 left, it says again (not enough money in ATM).