anchor.diff:      atm.SetAccount(TEST_CHECKING_ACCOUNT)
   
   let [<Test>] ``test checking withdrawal`` () =
  -    let mockTransaction = Mock.Of<Transaction>();
  +    let mockTransaction = Mock.Of<Transaction>()
       let atm = new AtmGui(fun () -> mockTransaction)    
   
  -    insertCardAndInputPin(atm);
  +    insertCardAndInputPin(atm)
   
  -    atm.PressButton("Withdraw");
  -    atm.PressButton("Checking");
  -    atm.PressButtons("1", "0", "0", "0", "0");
  +    atm.PressButton("Withdraw")
  +    atm.PressButton("Checking")
  +    atm.PressButtons("1", "0", "0", "0", "0")
       Assert.AreEqual("$100.00", atm.GetDisplayContents());
  -    atm.PressButton("Continue");
  +    atm.PressButton("Continue")
   
       Mock.Verify(<@ mockTransaction.SetAmount(100M) @>)
       Mock.Verify(<@ mockTransaction.SetSourceAccount(TEST_CHECKING_ACCOUNT) @>)
  
positive.code:         transaction.SetDestAccount(myCashAccount())
          transaction.SetAmount(amount)
          transaction.Process()
          if transaction.Successful then dispense(amount)        
      member atm.SetAccount(account) = 
          userAccount <- Some account
      member atm.PressButton(button) =
          if button = "Continue" then
              match userAccount with
              | Some account -> doWithdrawal(account, amount)
              | None -> invalidOp "No account"
      member atm.PressButtons([<ParamArray>] digits:string[]) =
          let entered = String.Join("",digits)
          amount <- Decimal.Parse(entered) / 100M
          let us = CultureInfo.CreateSpecificCulture("en-US")
          display <- amount.ToString("C", us)
      member atm.GetDisplayContents() =
  
negative.code: 
  type AtmGui(createTransaction:unit->Transaction) =
      let mutable userAccount = None
      let mutable enteredAmount = None
      let mutable display = ""
      let dispense amount = ()
      let myCashAccount () = TEST_CASH_ACCOUNT
      let doWithdrawal(account:Account, amount:decimal) =
  