(import (scheme base) (only (csc match) define-match-record-type) (only (csc testing) assert-equal test) (csc compare)) (test diff-list (assert-equal " ( 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-equal " ( (!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-equal " ( (!type . string ) (value . ( line-one - line-two line-three ) ) ) " (diff "line-one\nline-two\nline-three" "line-one\nline-three"))) (test diff-vector (assert-equal " ( (!type . vector ) (value . ( 1 - 2 3 ) ) ) " (diff #(1 2 3) #(1 3))))