#| 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. |# (import (mcgoron iterator list)) (let ((itr (list-iterator-start '()))) (test-begin "empty list") (test-assert "iterator-at-start?" (iterator-at-start? itr)) (test-assert "iterator-at-end?" (iterator-at-end? itr)) (test-assert "iterator-advance 1" (not (iterator-advance itr 1))) (test-assert "iterator-advance -1" (not (iterator-advance itr -1))) (test "iterator->index" 0 (iterator->index itr)) (test-assert "iterator=?" (iterator=? itr (list-iterator-end '()))) (test-error "iterator-ref" (iterator-ref itr)) (test-end "empty list")) (let* ((lst '(1 2)) (itr (list-iterator-start lst))) () )