diff options
| author | 2024-12-26 18:07:22 -0500 | |
|---|---|---|
| committer | 2024-12-26 18:07:22 -0500 | |
| commit | 5e763d5b835f3ba97c4dd3e5aab06d4ba568d863 (patch) | |
| tree | 60bf5b95ce060f6692609630c991045249587822 /test | |
| parent | values lib (diff) | |
move cond-thunk test to test folder
Diffstat (limited to 'test')
| -rw-r--r-- | test/cond-thunk-test.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/cond-thunk-test.scm b/test/cond-thunk-test.scm new file mode 100644 index 0000000..df620d0 --- /dev/null +++ b/test/cond-thunk-test.scm @@ -0,0 +1,74 @@ +#| Copyright 2024 Peter McGoron + | + | Licensed under the Apache License, Version 2.0 (the "License"); + | + | you may not use this file except in compliance with the License. + | You may obtain a copy of the License at + | + | http://www.apache.org/licenses/LICENSE-2.0 + | + | Unless required by applicable law or agreed to in writing, software + | distributed under the License is distributed on an "AS IS" BASIS, + | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + | See the License for the specific language governing permissions and + | limitations under the License. + |# + +(cond-expand + (chicken (import test r7rs)) + (else (import (srfi 64)))) + +(load "../mcgoron.cond-thunk.sld") +(import (mcgoron cond-thunk)) + +(test-assert + "cond-thunk basic" + (cond-thunk + (if #t + (lambda () + #t) + #f) + (else #f))) + +(test-assert + "when-ct true" + (cond-thunk + (when-ct #t #t) + (else #f))) + +(test + "cond-thunk multiple branches" + 'two + (cond-thunk + (when-ct (pair? #f) 'one) + (when-ct (boolean? #f) 'two) + (when-ct (boolean? #f) 'three) + (else #f))) + +(let ((on-pair + (lambda-ct (x) (pair? x) + 'pair)) + (on-boolean + (lambda-ct (x) (boolean? x) + 'boolean))) + (test + "lambda-ct basic" + 'boolean + (cond-thunk + (on-pair #f) + (on-boolean #f) + (else #f)))) + +(let () + (define-ct (on-pair x) (pair? x) + 'pair) + (define-ct (on-boolean x) (boolean? x) + 'boolean) + (test + "define-ct basic" + 'boolean + (cond-thunk + (on-pair #f) + (on-boolean #f) + (else #f)))) + |
