Fix member record tests.
This commit is contained in:
parent
575c1cdb3d
commit
cf2913fdea
2 changed files with 66 additions and 31 deletions
|
@ -213,11 +213,25 @@
|
|||
|
||||
;; Returns true if both dictionaries contain the same keys and
|
||||
;; values.
|
||||
(define (ldict-equal? d1 d2)
|
||||
(let ((k1 (list->lset (ldict-keys d1)))
|
||||
(k2 (list->lset (ldict-keys d2))))
|
||||
;; Compare key sets
|
||||
#f))
|
||||
(define (ldict-equal? d1 d2 . equality?)
|
||||
(let ((e1 (ldict-equality? d1))
|
||||
(e2 (ldict-equality? d2)))
|
||||
(let ((equality? (if (null? equality?)
|
||||
equal?
|
||||
(car equality?))))
|
||||
(if (not (eq? e1 e2))
|
||||
#f
|
||||
(let ((k1 (list->lset (ldict-keys d1)))
|
||||
(k2 (list->lset (ldict-keys d2))))
|
||||
(if (lset=? k1 k2)
|
||||
(let loop ((keys (lset->list k1)))
|
||||
(if (null? keys)
|
||||
#t
|
||||
(if (equality? (ldict-ref d1 (car keys))
|
||||
(ldict-ref d2 (car keys)))
|
||||
(loop (cdr keys))
|
||||
#f)))
|
||||
#f))))))
|
||||
|
||||
;; Performs self-tests of the dictionary module.
|
||||
(define (ldict-tests!)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue