summaryrefslogtreecommitdiff
path: root/report-repair/rr-test.scm
diff options
context:
space:
mode:
Diffstat (limited to 'report-repair/rr-test.scm')
-rw-r--r--report-repair/rr-test.scm83
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")