anchor.diff:      ;; In 2005, April 4th is the start of daylight savings time.  The
       ;; difference between daylight savings and non-daylight savings
       ;; is one hour (for now)
  -  (is-equal (- (local-timezone (encode-local-time 0 0 0 0 4 4 2005 +utc-zone+))
  -               (local-timezone (encode-local-time 0 0 0 0 3 4 2005 +utc-zone+)))
  -            3600))
  +  (is (= (- (local-timezone (encode-local-time 0 0 0 0 4 4 2005 +utc-zone+))
  +            (local-timezone (encode-local-time 0 0 0 0 3 4 2005 +utc-zone+)))
  +         3600)))
   
   (test unix-time
  -  (is-equal (unix-time (encode-local-time 0 0 0 0 1 1 1970)) 0))
  +  (is (eql (unix-time (encode-local-time 0 0 0 0 1 1 1970)) 0)))
   
   (test universal-time
  -  (is-equal (decode-universal-time (universal-time (encode-local-time 1 2 3 4 5 6 2008)))
  -            (values 2 3 4 5 6 2008 3 * *)))
  +  (is (equal (decode-universal-time (universal-time (encode-local-time 1 2 3 4 5 6 2008)))
  +             (values 2 3 4 5 6 2008 3 * *))))
     
   (test local-time
     (let ((now (now)))
       (is (local-time= (local-time :unix (unix-time now))
                        now)))
     (let ((now (get-universal-time)))
  -    (is-equal (universal-time (local-time :universal now))
  -              now)))
  +    (is (equal (universal-time (local-time :universal now))
  +               now))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
  
positive.code: 
  (test make-local-time
    (let ((local-time (make-local-time :usec 1 :sec 2 :day 3 :timezone *default-timezone*)))
      (is-equal (usec-of local-time) 1
                (sec-of local-time) 2
                (day-of local-time) 3)))
  
  (defmacro defcmptest (compare-with &body args)
    `(test ,compare-with
  
negative.code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (test format-timestring
    (is-every string=
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t)
      "2008-06-05T04:03:02.000001"
  
      ;; This test only works on CDT (so far)
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008))
      "2008-06-05T04:03:02.000001-05:00"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008 +utc-zone+) :use-zulu-p t)
      "2008-06-05T04:03:02.000001Z"
  
      (format-timestring (encode-local-time 12345678 2 3 4 5 6 2008 +utc-zone+) :use-zulu-p nil)
      "2008-06-05T04:03:02.12345678+00:00"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 2)
      "-06-05T04:03:02.000001"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 1)
      "-05T04:03:02.000001"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 0)
      "04:03:02.000001"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 0 :time-elements 3)
      "04:03:02"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 -5) :omit-timezone-p t)
      "-0005-06-05T04:03:02.000001"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 0 :time-elements 0)
      ""
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 0 :time-elements 1)
      "04"
  
      (format-timestring (encode-local-time 1 2 3 4 5 6 2008) :omit-timezone-p t :date-elements 0 :time-elements 2)
      "04:03"))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  