public void TestWithdrawMoneyZeroOrNegativeAmountThrows(int amount) { //Arrange //Act Assert.Throws <InvalidAmountException>(() => _atMachine.WithdrawMoney(amount)); //Assert _cashProcessor.DidNotReceive().MinDenomination(); _cardProcessor.DidNotReceive().GetCardBalance(); _cardProcessor.DidNotReceiveWithAnyArgs().BlockAmount(Arg.Any <int>()); _cashProcessor.DidNotReceiveWithAnyArgs().WithdrawMoney(Arg.Any <int>()); _cardProcessor.DidNotReceiveWithAnyArgs().WithdrawFromBlocked(Arg.Any <Guid>()); }