default comparator compares numbers with = (issue #459)

This commit is contained in:
Alex Shinn 2018-03-10 11:11:59 +09:00
parent d07170d6c3
commit e4cc2dd33c
2 changed files with 5 additions and 1 deletions

View file

@ -178,7 +178,9 @@
(lambda (x y)
(let lp ((ls (default-comparators)))
(cond ((null? ls)
(equal? x y))
(if (number? x)
(and (number? y) (= x y))
(equal? x y)))
((and (comparator-test-type (car ls) x)
(comparator-test-type (car ls) y))
((comparator-equality-predicate (car ls)) x y))

View file

@ -155,6 +155,8 @@
(test-assert (not (<? default-comparator #t #t)))
(test-assert (=? default-comparator #\a #\a))
(test-assert (<? default-comparator #\a #\b))
(test-assert (=? default-comparator 1 1))
(test-assert (=? default-comparator 1 1.0))
(test-assert (comparator-test-type default-comparator '()))
(test-assert (comparator-test-type default-comparator #t))