summaryrefslogtreecommitdiff
path: root/Examples/test-suite/schemerunme/multivalue.scm
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/schemerunme/multivalue.scm')
-rw-r--r--Examples/test-suite/schemerunme/multivalue.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/Examples/test-suite/schemerunme/multivalue.scm b/Examples/test-suite/schemerunme/multivalue.scm
new file mode 100644
index 0000000..780ba38
--- /dev/null
+++ b/Examples/test-suite/schemerunme/multivalue.scm
@@ -0,0 +1,19 @@
+;;;; Automatic test of multiple return values
+
+(let ((quotient/remainder (divide-l 37 5)))
+ (if (not (equal? quotient/remainder '(7 2)))
+ (exit 1)))
+
+(let ((quotient-remainder-vector (divide-v 41 7)))
+ (if (not (equal? quotient-remainder-vector #(5 6)))
+ (exit 1)))
+
+(call-with-values (lambda ()
+ (divide-mv 91 13))
+ (lambda (quotient remainder)
+ (if (not (and (= quotient 7)
+ (= remainder 0)))
+ (exit 1))))
+
+(exit 0)
+