Esempio n. 1
0
        public void WithdrawWithBalancePositive()
        {
            var depositValue  = 50.5m;
            var withdrawValue = 10.2m;

            var expectedBalance = depositValue - withdrawValue;

            var hardwareMock = new HardwareMock(number, depositValue, withdrawValue);
            var serviceMock  = new RemoteServiceMock(account);

            var cashMachine = new cashMachine.CashMachine(hardwareMock, serviceMock);

            cashMachine.Login();
            cashMachine.Deposit();

            var result = cashMachine.Withdraw();

            var balance = cashMachine.AccountBalance();

            hardwareMock.VerifyCalledMethod(HardwareMock.MethodGetValueToWithdraw, null, withdrawValue);
            serviceMock.VerifyCalledMethod(RemoteServiceMock.MethodPersitAccount, new object[] { account }, null, 2);

            Assert.AreEqual(string.Format(CourseraTDD.CashMachine.CashMachine.SuccessBalanceMessage, expectedBalance), balance);
            Assert.AreEqual(CourseraTDD.CashMachine.CashMachine.SuccessWithdrawMessage, result);
        }
Esempio n. 2
0
        public void RequestEmptyBalance()
        {
            var hardwareMock = new HardwareMock(number);
            var serviceMock  = new RemoteServiceMock(account);

            var cashMachine = new cashMachine.CashMachine(hardwareMock, serviceMock);

            cashMachine.Login();

            var ballance = cashMachine.AccountBalance();

            Assert.AreEqual(string.Format(CourseraTDD.CashMachine.CashMachine.SuccessBalanceMessage, 0), ballance);
        }
Esempio n. 3
0
        public void RequestBalanceWithValue()
        {
            var depositValue = 50.5m;

            var hardwareMock = new HardwareMock(number, depositValue);
            var serviceMock  = new RemoteServiceMock(account);

            var cashMachine = new cashMachine.CashMachine(hardwareMock, serviceMock);

            cashMachine.Login();
            cashMachine.Deposit();

            var ballance = cashMachine.AccountBalance();

            Assert.AreEqual(string.Format(CourseraTDD.CashMachine.CashMachine.SuccessBalanceMessage, depositValue), ballance);
        }
Esempio n. 4
0
        public void RequestBalanceNotAuthenticated()
        {
            var cashMachine = new cashMachine.CashMachine(null, null);

            Assert.Throws <NotAuthorizedException>(() => cashMachine.AccountBalance());
        }