1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
(in-package #:ccl)
(use-package "LIFT")
(deftestsuite test-queue ()
((q (make-instance 'basic-queue))))
(defmethod collect-elements ((container basic-queue))
(let ((result nil))
(iterate-container container (lambda (x) (push x result)))
(nreverse result)))
(deftestsuite test-delete-queue (test-queue)
()
(:setup (insert-item q :a)
(insert-item q :b)
(insert-item q :c)))
(addtest (test-delete-queue)
delete-1
(delete-item q :a)
(ensure-same (collect-elements q) '(:b :c) :test #'equal))
(addtest (test-delete-queue)
delete-2
(delete-item q :b)
(ensure-same (collect-elements q) '(:a :c) :test #'equal))
(addtest (test-delete-queue)
delete-3
(delete-item q :c)
(ensure-same (collect-elements q) '(:a :b) :test #'equal))
(addtest (test-delete-queue)
delete-1-insert-1
(delete-item q :a)
(insert-item q :a)
(ensure-same (collect-elements q) '(:b :c :a) :test #'equal))
(addtest (test-delete-queue)
delete-2-insert-2
(delete-item q :b)
(insert-item q :b)
(ensure-same (collect-elements q) '(:a :c :b) :test #'equal))
(addtest (test-delete-queue)
delete-3-insert-3
(delete-item q :c)
(insert-item q :c)
(ensure-same (collect-elements q) '(:a :b :c) :test #'equal))
#+Ignore
(addtest (test-delete-queue)
delete-3-insert-3
(inspect q))
|