public void Transfer_Rollback_OK()
        {
            TransferTransaction transfer = new TransferTransaction(from, to, 50);

            _ = transfer.Execute();
            _ = transfer.Rollback();
            Assert.True(transfer.Reversed);
        }
        public void Transfer_RollbackWithInsufficientFunds_ThrowsInsufficientFundsException()
        {
            TransferTransaction transfer = new TransferTransaction(from, to, 50);

            _ = transfer.Execute();

            WithdrawTransaction withdraw = new WithdrawTransaction(to, to.Balance);

            withdraw.Execute();

            Assert.Throws <InsufficientFundsException>(() => transfer.Rollback());
        }