File: priority-queues.lisp

package info (click to toggle)
cl-containers 20150923-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,076 kB
  • sloc: lisp: 8,341; makefile: 14
file content (33 lines) | stat: -rw-r--r-- 832 bytes parent folder | download | duplicates (4)
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
(in-package #:cl-containers-test)

(deftestsuite test-priority-queue (cl-containers-test)
  ((q (make-instance 'priority-queue-on-container
                     :sorter #'string<
                     :test #'string=))))

(deftestsuite test-delete-priority-queue (test-priority-queue)
  ()
  (:equality-test 'string=)
  (:setup (empty! q)
	  (insert-item q "a")
          (insert-item q "b")
          (insert-item q "c")))

(addtest (test-delete-priority-queue)
  delete-first-1
  (ensure-same (first-element q) "a")
  (delete-first q)
  (ensure-same (first-element q) "b")
  (delete-first q)
  (ensure-same (first-element q) "c"))

(addtest (test-delete-priority-queue)
  delete-first-2
  (dequeue q)
  (ensure-same (first-element q) "b")
  (dequeue q)
  (ensure-same (first-element q) "c")
  (dequeue q)
  (ensure (empty-p q)))