diff options
Diffstat (limited to 'report-repair/rr-test.scm')
-rw-r--r-- | report-repair/rr-test.scm | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/report-repair/rr-test.scm b/report-repair/rr-test.scm new file mode 100644 index 0000000..7d75c09 --- /dev/null +++ b/report-repair/rr-test.scm @@ -0,0 +1,83 @@ +;; -*- compile-command: "guile -L . rr-test.scm"; -*- +(use-modules (srfi srfi-64) + (rr)) + +(test-begin "harness") + + +(test-equal "friendship 1" + '(1 . 2019) + (return-friendship-pair 1)) + +(test-equal "friendship 1596" + '(1596 . 424) + (return-friendship-pair 1596)) + +(test-equal "small report" + '((0 . 2020) + (1 . 2019) + (2 . 2018) + (3 . 2017) + (4 . 2016) + (5 . 2015)) + (report->pairs "0 1 2 3 4 5")) + +(test-assert "equivalent pair" + (equivalent-pair? + '(1 . 4) + '((5 . 6) + (1 . 5) + (3 . 7) + (4 . 1) + (6 . 2)))) + +(test-equal "no equivalent pair" + #f + (equivalent-pair? + '(1 . 4) + '((5 . 6) + (1 . 5) + (3 . 7) + (6 . 2)))) + +(test-equal "found equivalent pair" + '(1 . 5) + (return-equivalent-pair + '((5 . 6) + (1 . 5) + (3 . 7) + (5 . 1) + (6 . 2)))) + +(test-error "no equivalent pairs" + #t + (return-equivalent-pair + '((5 . 6) + (1 . 5) + (3 . 7) + (6 . 2)))) + +(test-equal "multiply pair 1" + 8 + (multiply-pair (cons 1 8))) + +(test-equal "multiply pair 2" + 24 + (multiply-pair (cons 3 8))) + +(test-equal "task-complete 1" + 1020099 + (rr "1009 237 791 478 1537 1011 1628")) + +(test-equal "task-complete 2" + 514579 + (rr "1721 +979 +366 +299 +675 +1456 +")) + + +(test-end "harness") |