diff options
| author | 2025-06-17 17:09:49 -0400 | |
|---|---|---|
| committer | 2025-06-17 17:09:49 -0400 | |
| commit | 02f8a10c1f77cf75e5134b7b1d3e6de1ad0f2cfa (patch) | |
| tree | 2ccab26de2d6cd8270bf606c91f914913614c230 /test | |
| parent | producer (diff) | |
pattern testing
Diffstat (limited to '')
| -rw-r--r-- | test/pattern/producer.scm | 27 | ||||
| -rw-r--r-- | test/pattern/producer.sld | 25 | ||||
| -rw-r--r-- | test/run.scm | 17 |
3 files changed, 63 insertions, 6 deletions
diff --git a/test/pattern/producer.scm b/test/pattern/producer.scm new file mode 100644 index 0000000..eb1744e --- /dev/null +++ b/test/pattern/producer.scm @@ -0,0 +1,27 @@ +#| Copyright (c) Peter McGoron 2025 + | + | 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. + |# + +(define (test-producers) + (let ((producer + (compile-producer '() + (list (empty-wrap 'x) (empty-wrap '...)) + (hashmap bound-identifier-comparator + (empty-wrap 'x) + 1)))) + (test-equal "produces x = '(5 4 3 2 1)" + '(1 2 3 4 5) + (producer (hashmap bound-identifier-comparator + (empty-wrap 'x) + '(5 4 3 2 1)))))) diff --git a/test/pattern/producer.sld b/test/pattern/producer.sld new file mode 100644 index 0000000..5fd3a57 --- /dev/null +++ b/test/pattern/producer.sld @@ -0,0 +1,25 @@ +#| Copyright (c) Peter McGoron 2025 + | + | 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. + |# + +(define-library (multisyntax pattern producer test) + (import (scheme base) (scheme write) (srfi 113) (srfi 146 hash) + (multisyntax syntax-object) + (multisyntax pattern producer)) + (cond-expand + (chicken (import (srfi 64) + (chicken condition))) + (else)) + (export test-producers) + (include "producer.scm")) diff --git a/test/run.scm b/test/run.scm index 0b0e9d9..521b2cf 100644 --- a/test/run.scm +++ b/test/run.scm @@ -1,11 +1,11 @@ -(import r7rs) - (cond-expand - (chicken (import (prefix (mcgoron srfi 64) + (chicken (import r7rs + (prefix (mcgoron srfi 64) mcgoron-) (srfi 64)) (test-runner-factory mcgoron-factory) - (test-runner-current (mcgoron-factory)))) + (test-runner-current (mcgoron-factory))) + (else (import (srfi 64)))) (load "../multisyntax/utils.sld") (load "../multisyntax/syntax-object.sld") @@ -14,10 +14,15 @@ (import (rename (multisyntax syntax-object test) (test test-syntax-object))) -(test-syntax-object) +#;(test-syntax-object) (load "../multisyntax/pattern/internal.sld") (load "../multisyntax/pattern/matcher.sld") (load "pattern/matcher.sld") (import (multisyntax pattern matcher test)) -(test-patterns) +#;(test-patterns) + +(load "../multisyntax/pattern/producer.sld") +(load "pattern/producer.sld") +(import (multisyntax pattern producer test)) +(test-producers) |
