public void cannot_insert_more_than_one_coin_or_note_at_a_time()
        {
            //Arrange
            var snackMachine = new SnackMachine.Logic.SnackMachine();
            //Act
            var    twoCent = OneCent + OneCent;
            Action action  = () => { snackMachine.InsertMoney(twoCent); };

            //Assert
            Assert.Throws <InvalidOperationException>(action);
        }
        public void inserted_money_goes_to_money_in_transaction()
        {
            //Arrange
            var snackMachine = new SnackMachine.Logic.SnackMachine();

            //Act
            snackMachine.InsertMoney(OneCent);
            snackMachine.InsertMoney(OneDollar);

            //Assert
            Assert.Equal(1.01m, snackMachine.MoneyInTransaction.Amount);
        }
        public void return_money_empties_money_in_transaction()
        {
            //Arrange
            var snackMachine = new SnackMachine.Logic.SnackMachine();

            snackMachine.InsertMoney(OneDollar);

            //Act
            snackMachine.ReturnMoney();
            //Assert
            Assert.Equal(0m, snackMachine.MoneyInTransaction.Amount);
        }
        public void money_in_transaction_goes_to_money_inside_after_purchase()
        {
            //Arrange
            var snackMachine = new SnackMachine.Logic.SnackMachine();

            //Act
            snackMachine.InsertMoney(OneDollar);
            snackMachine.InsertMoney(OneDollar);

            snackMachine.BuySnack();

            //Assert
            //Assert.True(snackMachine.MoneyInTransaction.Equals(None));
            snackMachine.MoneyInTransaction.Should().Be(None);
            Assert.True(snackMachine.MoneyInside.Amount.Equals(2m));
        }