Add count, continue testing.
This commit is contained in:
parent
b5c705d59f
commit
ba50349f30
1 changed files with 20 additions and 1 deletions
|
@ -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"))
|
||||||
))
|
))
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue