From 7a28e451566e84ed1b072169af2c5db938a683d2 Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Wed, 6 Nov 2002 12:45:48 +0000 Subject: [PATCH] Added tests for MISMATCH on vectors with fill pointers. --- ansi-tests/mismatch.lsp | 74 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/ansi-tests/mismatch.lsp b/ansi-tests/mismatch.lsp index 8282fc3c..4d61cabd 100644 --- a/ansi-tests/mismatch.lsp +++ b/ansi-tests/mismatch.lsp @@ -194,7 +194,21 @@ (mismatch '(6 7 8 9) a :from-end t) (mismatch '(2 3 4 5) a :from-end t))) nil nil 4 5 4 0) - + +(deftest mismatch-vector.24 + (let ((m (make-array '(6) :initial-contents '(1 2 3 4 5 6) + :fill-pointer 4)) + (a '(1 2 3 4 5))) + (list + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 5) + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 6) + (mismatch m a) + (mismatch m a :from-end t))) + (4 4 5 nil nil 6 5 6)) ;;; tests on bit vectors @@ -350,6 +364,35 @@ (mismatch #*1111111 '(2 3 3) :from-end t :key 'evenp) 5) +(deftest mismatch-bit-vector.23 + (let ((a (make-array '(9) :initial-contents (coerce #*001011000 'list) + :fill-pointer 5 + :element-type 'bit))) + (values + (mismatch #*00101 a) + (mismatch #*00101 a :from-end t) + (mismatch #*0010 a) + (mismatch #*001011 a) + (mismatch #*1000 a :from-end t) + (mismatch #*0010 a :from-end t))) + nil nil 4 5 4 4) + +(deftest mismatch-bit-vector.24 + (let ((m (make-array '(6) :initial-contents (coerce #*001011 'list) + :fill-pointer 4 + :element-type 'bit)) + (a #*00101)) + (list + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 5) + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 6) + (mismatch m a) + (mismatch m a :from-end t))) + (4 4 5 nil nil 6 5 5)) + ;;; tests on strings (deftest mismatch-string.1 @@ -524,3 +567,32 @@ (deftest mismatch-string.22 (mismatch "1111111" "233" :from-end t :key 'evendigitp) 5) + +(deftest mismatch-string.23 + (let ((a (make-array '(9) :initial-contents (coerce "123456789" 'list) + :fill-pointer 5 + :element-type 'character))) + (values + (mismatch "12345" a) + (mismatch "12345" a :from-end t) + (mismatch "1234" a) + (mismatch "123456" a) + (mismatch "6789" a :from-end t) + (mismatch "2345" a :from-end t))) + nil nil 4 5 4 0) + +(deftest mismatch-string.24 + (let ((m (make-array '(6) :initial-contents (coerce "123456" 'list) + :fill-pointer 4 + :element-type 'character)) + (a "12345")) + (list + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 5) + (mismatch m a) + (mismatch m a :from-end t) + (setf (fill-pointer m) 6) + (mismatch m a) + (mismatch m a :from-end t))) + (4 4 5 nil nil 6 5 6)) -- GitLab