Add count, continue testing.

This commit is contained in:
Dominik Pantůček 2023-04-07 22:40:42 +02:00
parent b5c705d59f
commit ba50349f30

View file

@ -35,6 +35,8 @@
lset-empty? lset-empty?
lset-member? lset-member?
lset-count
lset-add lset-add
lset-remove lset-remove
@ -96,6 +98,10 @@
#t #t
(loop (cdr els))))))) (loop (cdr els)))))))
;; Returns the number of elements in the list set
(define (lset-count ls)
(length (lset-list ls)))
;; Adds given element(s) to the list set ;; Adds given element(s) to the list set
(define (lset-add ls . els) (define (lset-add ls . els)
(let loop ((els els) (let loop ((els els)
@ -172,7 +178,20 @@
(define (lset-tests!) (define (lset-tests!)
(run-tests (run-tests
lset lset
(test-true make-lset/lset-empty? (lset-empty? (make-lset))) (test-true make-lset/lset-empty?
(lset-empty? (make-lset)))
(test-false lset-member?
(lset-member? (make-lset) 1))
(test-false lset-member?
(lset-member? (make-lset string=?) "test"))
(test-true lset-add
(lset-member?
(lset-add (make-lset) 1)
1))
(test-false lset-add
(lset-member?
(lset-add (make-lset string=?) "test")
"not"))
)) ))
) )