public void Withdraw_NotificationLowFunds_NotifyNotifyFundsLowEmailSentToUser()
        {
            var email = "*****@*****.**";

            var mock = MockingHelper.GetNotificationServiceMock(email);

            var account = new Account()
            {
                User = new User(mock.Object)
                {
                    Email = email
                },

                Balance = 500m
            };

            account.Withdraw(100m);

            mock.Verify(m => m.NotifyFundsLow(It.Is <string>(em => em.Equals(email))), Times.AtLeastOnce);
        }
        public void Deposit_ApproachingPayInLimit_NotifyApproachingPayInLimitEmailSentToUser()
        {
            var email = "*****@*****.**";

            var mock = MockingHelper.GetNotificationServiceMock(email);

            var account = new Account()
            {
                User = new User(mock.Object)
                {
                    Email = email
                },

                PaidIn = 3000m
            };

            account.Deposit(999m);

            mock.Verify(m => m.NotifyApproachingPayInLimit(It.Is <string>(em => em.Equals(email))), Times.AtLeastOnce);
        }