diff options
| author | 2024-12-27 22:55:30 -0500 | |
|---|---|---|
| committer | 2024-12-27 22:58:52 -0500 | |
| commit | cc1b6ef1bf392b158eb3e16e0a1998959f382385 (patch) | |
| tree | d4510e5a5ca3b9573b5cb2faa2e6fbf333117963 /tests/run.scm | |
| parent | chicken (diff) | |
Rewrite cond-thunk to be in terms of cond, and rename tests for
chicken
Diffstat (limited to 'tests/run.scm')
| -rw-r--r-- | tests/run.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/run.scm b/tests/run.scm new file mode 100644 index 0000000..c98e76f --- /dev/null +++ b/tests/run.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)))) +(test-exit) |
