示例#1
0
        public void Subtract_From_Filled_Wallet_Result_Is_0()
        {
            SimpleWallet wallet = new SimpleWallet();

            wallet.Add(20);
            wallet.Subtract(20);
            Assert.That(wallet.GetBalance().Equals(0));
        }
示例#2
0
        public void Subtract_From_Filled_Wallet_Result_Is_Remainder()
        {
            SimpleWallet wallet = new SimpleWallet();

            wallet.Add(20);
            wallet.Subtract(10);
            Assert.IsTrue(wallet.GetBalance() > 0);
        }
示例#3
0
        public void Subtract_From_Wallet_Result_Is_Correct(decimal initialValue, decimal finalValue, decimal result)
        {
            SimpleWallet wallet = new SimpleWallet();

            wallet.Add(initialValue);
            wallet.Subtract(finalValue);
            Assert.That(result.Equals(wallet.GetBalance()));
        }
示例#4
0
        public void Subtract_From_Balance_Raises_Event()
        {
            SimpleWallet wallet        = new SimpleWallet();
            decimal      walletBalance = 0;

            wallet.Add(10);
            IVendingMachineInternal machineInternal = new FakeVendingMachineInternal();

            wallet.Init(machineInternal);
            ((IVendingMachineExternal)machineInternal).WalletValueChanged += balance => { walletBalance = balance; };
            wallet.Subtract(5);

            Assert.That(walletBalance.Equals(5));
        }
示例#5
0
        public void Subtract_From_Empty_Wallet()
        {
            SimpleWallet wallet    = new SimpleWallet();
            var          exception = Assert.Throws <SubtractionFromLesserQuantityException>(() => { wallet.Subtract(10); });

            Assert.That(exception.GetType() == typeof(SubtractionFromLesserQuantityException));
        }