anchor.diff:  ;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   ;;; DEALINGS IN THE SOFTWARE.
   
  +;;; To run test coverage use:
  +;;; 
  +;;; (progn
  +;;;   (declaim (optimize sb-cover:store-coverage-data))
  +;;;   (incf-cl-tests:test)
  +;;;   (declaim (optimize (sb-cover:store-coverage-data 0)))
  +;;;   (sb-cover:report "/home/jmbr/projects/incf-cl/coverage-report/"))
  +
   (defpackage :com.superadditive.incf-cl-tests
     (:nicknames :incf-cl-tests)
     (:use :common-lisp :incf-cl :stefil)
  
positive.code: 
  (in-suite test)
  
  (deftest test-drop ()
    (is (eq nil (drop 0 nil)))
    (is (eq nil (drop 1 nil)))
    (is (eq nil (drop -1 (list 1 2 3))))
    (is (equal (list 1 2 3) (drop 0 (list 1 2 3))))
    (is (equal nil (drop 3 (list 1 2 3)))))
  
  (deftest test-drop-while ()
    (is (eq nil (drop-while (constantly t) nil)))
    (is (equal (list 1 2 3) (drop-while (constantly nil)
                                        (list 1 2 3)))))
  
  (deftest test-filter ()
    (is (eq (filter nil nil) nil))
  
negative.code: 
    INCF-CL-TESTS> (unzip (pairlis (list 'a 'b 'c) (list 1 2 3)))
    (A B C)
    (1 2 3)
  
    INCF-CL-TESTS> (unzip 0)
    NIL
  
    INCF-CL-TESTS> (handler-case (floor 1 0)
                     (division-by-zero () 'caught-division-by-zero))
    CAUGHT-DIVISION-BY-ZERO"
    (is (eq t (doctest :incf-cl-tests))))
  