anchor.diff:      (setf (tempus::account-of link) account)
       (setf (tempus::account-of player) account)
       (setf (tempus::state-of link) 'tempus::playing)
  -    (push link tempus::*cxns*)
  -    (tempus::char-to-room player (tempus::real-room room-num))
       player))
   
  +(defun setup-mock-player (ch room-num)
  +  (push (tempus::link-of ch) tempus::*cxns*)
  +  (tempus::char-to-room ch (tempus::real-room room-num)))
  +
   (defun destroy-mock-player (ch)
  -  (tempus::char-from-room ch)
  -  (setf tempus::*cxns* (delete (tempus::link-of ch) tempus::*cxns*)))
  +  (when ch
  +    (when (tempus::in-room-of ch)
  +      (tempus::char-from-room ch))
  +    (setf tempus::*cxns* (delete (tempus::link-of ch) tempus::*cxns*))))
   
   (defmacro with-mock-players (vars &body body)
     `(let ,vars
  
positive.code:             ,@(loop
                   for var in vars
                   collect `(setf ,var
                                  (make-mock-player ,(string-capitalize var)
                                                    3013)))
              ,@body)
         (handler-case
             (progn
  
negative.code: (defun char-output (ch)
    (format nil "~{~a~}" (tempus::cxn-output-buf (tempus::link-of ch))))
  
  (defun make-mock-player (name)
    (let* ((link (make-instance 'mock-cxn))
           (player (make-instance 'tempus::player
                                 :name name
  