From a0216a8545188a7a48004b5d1fb1eba3e912c29e Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Mon, 19 Jul 2021 17:12:22 -0400 Subject: [PATCH] Issue #404 - Added unit tests --- tests/unit-tests.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/unit-tests.scm b/tests/unit-tests.scm index 8cd4c5c1..79ba4051 100644 --- a/tests/unit-tests.scm +++ b/tests/unit-tests.scm @@ -378,6 +378,13 @@ (x kar set-kar!) (y kdr)) +(define-record-type + (point x y) + point? + (x get-x set-x!) + (y get-y set-y!) + (z get-z set-z!)) + (assert:equal "Records predicate (t)" (pare? (kons 1 2)) #t) (assert:equal "Records predicate (f)" (pare? (cons 1 2)) #f) (assert:equal "Records kar" (kar (kons 1 2)) 1) @@ -389,6 +396,11 @@ 3) (assert:equal "Record type predicate (t)" (record? (kons 1 2)) #t) (assert:equal "Record type predicate (f)" (record? (cons 1 2)) #f) + +(assert:equal "Record type field not in constructor (f)" (get-z (point 1 2)) #f) +(let ((p (point 1 2))) + (set-z! p 99) + (assert:equal "Record type get field not in constructor" (get-z p) 99)) ;; END records ;; Lazy evaluation