323 |
(remove #\a (copy-seq "bcd") :count -1) |
(remove #\a (copy-seq "bcd") :count -1) |
324 |
"bcd") |
"bcd") |
325 |
|
|
326 |
|
(deftest remove-string.4 |
327 |
|
(do-special-strings |
328 |
|
(s "abcdbad" nil) |
329 |
|
(let ((s2 (remove #\b s))) |
330 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
331 |
|
(assert (string= s2 "acdad"))) |
332 |
|
(let ((s2 (remove #\b s :count 1))) |
333 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
334 |
|
(assert (string= s2 "acdbad"))) |
335 |
|
(let ((s2 (remove #\b s :count 1 :from-end t))) |
336 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
337 |
|
(assert (string= s2 "abcdad")))) |
338 |
|
nil) |
339 |
|
|
340 |
(deftest delete-vector.1 |
(deftest delete-vector.1 |
341 |
(delete 'a (vector 'b 'c 'd)) |
(delete 'a (vector 'b 'c 'd)) |
342 |
#(b c d)) |
#(b c d)) |
361 |
(delete #\a (copy-seq "bcd") :count -1) |
(delete #\a (copy-seq "bcd") :count -1) |
362 |
"bcd") |
"bcd") |
363 |
|
|
364 |
|
(deftest delete-string.4 |
365 |
|
(do-special-strings |
366 |
|
(s "abcdbad" nil) |
367 |
|
(let ((s2 (delete #\b s))) |
368 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
369 |
|
(assert (string= s2 "acdad")))) |
370 |
|
nil) |
371 |
|
|
372 |
|
(deftest delete-string.5 |
373 |
|
(do-special-strings |
374 |
|
(s "abcdbad" nil) |
375 |
|
(let ((s2 (delete #\b s :count 1))) |
376 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
377 |
|
(assert (string= s2 "acdbad")))) |
378 |
|
nil) |
379 |
|
|
380 |
|
(deftest delete-string.6 |
381 |
|
(do-special-strings |
382 |
|
(s "abcdbad" nil) |
383 |
|
(let ((s2 (delete #\b s :count 1 :from-end t))) |
384 |
|
(assert (equal (array-element-type s) (array-element-type s2))) |
385 |
|
(assert (string= s2 "abcdad")))) |
386 |
|
nil) |
387 |
|
|
388 |
(deftest remove-bit-vector.1 |
(deftest remove-bit-vector.1 |
389 |
(remove 0 (copy-seq #*00011101101)) |
(remove 0 (copy-seq #*00011101101)) |
390 |
#*111111) |
#*111111) |
903 |
(deftest delete.error.10 |
(deftest delete.error.10 |
904 |
(signals-error (delete 'a (list 'a 'b 'c) :key #'car) type-error) |
(signals-error (delete 'a (list 'a 'b 'c) :key #'car) type-error) |
905 |
t) |
t) |
906 |
|
|
907 |
|
;;; More specialized string tests |
908 |
|
|
909 |
|
(deftest remove-if-string.1 |
910 |
|
(do-special-strings |
911 |
|
(s "ab1c23def4" nil) |
912 |
|
(let ((s2 (remove-if #'alpha-char-p s))) |
913 |
|
(assert (equal (array-element-type s) |
914 |
|
(array-element-type s2))) |
915 |
|
(assert (string= s2 "1234")) |
916 |
|
(assert (string= s "ab1c23def4")))) |
917 |
|
nil) |
918 |
|
|
919 |
|
(deftest remove-if-string.2 |
920 |
|
(do-special-strings |
921 |
|
(s "ab1c23def4" nil) |
922 |
|
(let ((s2 (remove-if #'alpha-char-p s :count 3))) |
923 |
|
(assert (equal (array-element-type s) |
924 |
|
(array-element-type s2))) |
925 |
|
(assert (string= s2 "123def4")) |
926 |
|
(assert (string= s "ab1c23def4")))) |
927 |
|
nil) |
928 |
|
|
929 |
|
(deftest remove-if-string.3 |
930 |
|
(do-special-strings |
931 |
|
(s "ab1c23def4" nil) |
932 |
|
(let ((s2 (remove-if #'alpha-char-p s :count 3 :from-end t))) |
933 |
|
(assert (equal (array-element-type s) |
934 |
|
(array-element-type s2))) |
935 |
|
(assert (string= s2 "ab1c234")) |
936 |
|
(assert (string= s "ab1c23def4")))) |
937 |
|
nil) |
938 |
|
|
939 |
|
(deftest remove-if-not-string.1 |
940 |
|
(do-special-strings |
941 |
|
(s "ab1c23def4" nil) |
942 |
|
(let ((s2 (remove-if-not #'digit-char-p s))) |
943 |
|
(assert (equal (array-element-type s) |
944 |
|
(array-element-type s2))) |
945 |
|
(assert (string= s2 "1234")) |
946 |
|
(assert (string= s "ab1c23def4")))) |
947 |
|
nil) |
948 |
|
|
949 |
|
(deftest remove-if-not-string.2 |
950 |
|
(do-special-strings |
951 |
|
(s "ab1c23def4" nil) |
952 |
|
(let ((s2 (remove-if-not #'digit-char-p s :count 3))) |
953 |
|
(assert (equal (array-element-type s) |
954 |
|
(array-element-type s2))) |
955 |
|
(assert (string= s2 "123def4")) |
956 |
|
(assert (string= s "ab1c23def4")))) |
957 |
|
nil) |
958 |
|
|
959 |
|
(deftest remove-if-not-string.3 |
960 |
|
(do-special-strings |
961 |
|
(s "ab1c23def4" nil) |
962 |
|
(let ((s2 (remove-if-not #'digit-char-p s :count 3 :from-end t))) |
963 |
|
(assert (equal (array-element-type s) |
964 |
|
(array-element-type s2))) |
965 |
|
(assert (string= s2 "ab1c234")) |
966 |
|
(assert (string= s "ab1c23def4")))) |
967 |
|
nil) |
968 |
|
|
969 |
|
|
970 |
|
(deftest delete-if-string.1 |
971 |
|
(do-special-strings |
972 |
|
(s "ab1c23def4" nil) |
973 |
|
(let ((s2 (delete-if #'alpha-char-p s))) |
974 |
|
(assert (equal (array-element-type s) |
975 |
|
(array-element-type s2))) |
976 |
|
(assert (string= s2 "1234")))) |
977 |
|
nil) |
978 |
|
|
979 |
|
(deftest delete-if-string.2 |
980 |
|
(do-special-strings |
981 |
|
(s "ab1c23def4" nil) |
982 |
|
(let ((s2 (delete-if #'alpha-char-p s :count 3))) |
983 |
|
(assert (equal (array-element-type s) |
984 |
|
(array-element-type s2))) |
985 |
|
(assert (string= s2 "123def4")))) |
986 |
|
nil) |
987 |
|
|
988 |
|
(deftest delete-if-string.3 |
989 |
|
(do-special-strings |
990 |
|
(s "ab1c23def4" nil) |
991 |
|
(let ((s2 (delete-if #'alpha-char-p s :count 3 :from-end t))) |
992 |
|
(assert (equal (array-element-type s) |
993 |
|
(array-element-type s2))) |
994 |
|
(assert (string= s2 "ab1c234")))) |
995 |
|
nil) |
996 |
|
|
997 |
|
(deftest delete-if-not-string.1 |
998 |
|
(do-special-strings |
999 |
|
(s "ab1c23def4" nil) |
1000 |
|
(let ((s2 (delete-if-not #'digit-char-p s))) |
1001 |
|
(assert (equal (array-element-type s) |
1002 |
|
(array-element-type s2))) |
1003 |
|
(assert (string= s2 "1234")))) |
1004 |
|
nil) |
1005 |
|
|
1006 |
|
(deftest delete-if-not-string.2 |
1007 |
|
(do-special-strings |
1008 |
|
(s "ab1c23def4" nil) |
1009 |
|
(let ((s2 (delete-if-not #'digit-char-p s :count 3))) |
1010 |
|
(assert (equal (array-element-type s) |
1011 |
|
(array-element-type s2))) |
1012 |
|
(assert (string= s2 "123def4")))) |
1013 |
|
nil) |
1014 |
|
|
1015 |
|
(deftest delete-if-not-string.3 |
1016 |
|
(do-special-strings |
1017 |
|
(s "ab1c23def4" nil) |
1018 |
|
(let ((s2 (delete-if-not #'digit-char-p s :count 3 :from-end t))) |
1019 |
|
(assert (equal (array-element-type s) |
1020 |
|
(array-element-type s2))) |
1021 |
|
(assert (string= s2 "ab1c234")))) |
1022 |
|
nil) |