(define-library (csc compare-test) (import (scheme base) (only (csc match) define-match-record-type) (only (csc testing) assert test) (csc compare)) (begin (test diff-list (assert (string=? " ( 1 - 2 3 + 3.5 4 ) " (diff '(1 2 3 4) '(1 3 3.5 4))))) (define-match-record-type (make-test-type a b) test-type? %test-type (a test-type-a) (b test-type-b)) (test diff-record (assert (string=? " ( (!type . ) (a . 5 ) (b . - 5 + 6 ) ) " (diff (make-test-type 5 5) (make-test-type 5 6) (cons test-type? %test-type))))) (test diff-multiline-string (assert (string=? " ( (!type . string ) (value . ( line-one - line-two line-three ) ) ) " (diff "line-one\nline-two\nline-three" "line-one\nline-three")))) (test diff-vector (assert (string=? " ( (!type . vector ) (value . ( 1 - 2 3 ) ) ) " (diff #(1 2 3) #(1 3))))) (test diff-symbol-list (assert (string=? "- symbol + ( + ) " (diff 'symbol '()))))))