269 |
|
|
270 |
;;; FIXME: Add tests for building strings of other character types |
;;; FIXME: Add tests for building strings of other character types |
271 |
|
|
272 |
|
;;; Special vector types |
273 |
|
|
274 |
|
(deftest map.specialized-vector.1 |
275 |
|
(do-special-integer-vectors |
276 |
|
(v #(0 1 1 0 0 1) nil) |
277 |
|
(assert (equal (map 'list #'list v v) '((0 0) (1 1) (1 1) (0 0) (0 0) (1 1))))) |
278 |
|
nil) |
279 |
|
|
280 |
|
(deftest map.specialized-vector.2 |
281 |
|
(do-special-integer-vectors |
282 |
|
(v #(1 2 3 4 5 6 7) nil) |
283 |
|
(assert (equal (map 'list #'identity v) '(1 2 3 4 5 6 7)))) |
284 |
|
nil) |
285 |
|
|
286 |
|
(deftest map.specialized-vector.3 |
287 |
|
(do-special-integer-vectors |
288 |
|
(v #(-1 -2 -3 -4 -5 -6 -7) nil) |
289 |
|
(assert (equal (map 'list #'- v) '(1 2 3 4 5 6 7)))) |
290 |
|
nil) |
291 |
|
|
292 |
|
(deftest map.specialized-vector.4 |
293 |
|
(loop for i from 1 to 40 |
294 |
|
for type = `(unsigned-byte ,i) |
295 |
|
for bound = (ash 1 i) |
296 |
|
for len = 10 |
297 |
|
for vals = (loop repeat len collect (random i)) |
298 |
|
for result = (map `(vector ,type) #'identity vals) |
299 |
|
unless (and (= (length result) len) |
300 |
|
(every #'eql vals result)) |
301 |
|
collect (list i vals result)) |
302 |
|
nil) |
303 |
|
|
304 |
|
(deftest map.specialized-vector.5 |
305 |
|
(loop for i from 1 to 40 |
306 |
|
for type = `(signed-byte ,i) |
307 |
|
for bound = (ash 1 i) |
308 |
|
for len = 10 |
309 |
|
for vals = (loop repeat len collect (- (random i) (/ bound 2))) |
310 |
|
for result = (map `(vector ,type) #'identity vals) |
311 |
|
unless (and (= (length result) len) |
312 |
|
(every #'eql vals result)) |
313 |
|
collect (list i vals result)) |
314 |
|
nil) |
315 |
|
|
316 |
|
(deftest map.specialized-vector.6 |
317 |
|
(loop for type in '(short-float single-float long-float double-float) |
318 |
|
for len = 10 |
319 |
|
for vals = (loop for i from 1 to len collect (coerce i type)) |
320 |
|
for result = (map `(vector ,type) #'identity vals) |
321 |
|
unless (and (= (length result) len) |
322 |
|
(every #'eql vals result)) |
323 |
|
collect (list i vals result)) |
324 |
|
nil) |
325 |
|
|
326 |
|
(deftest map.specialized-vector.7 |
327 |
|
(loop for etype in '(short-float single-float long-float double-float |
328 |
|
integer rational) |
329 |
|
for type = `(complex ,etype) |
330 |
|
for len = 10 |
331 |
|
for vals = (loop for i from 1 to len collect (complex (coerce i etype) |
332 |
|
(coerce (- i) etype))) |
333 |
|
for result = (map `(vector ,type) #'identity vals) |
334 |
|
unless (and (= (length result) len) |
335 |
|
(every #'eql vals result)) |
336 |
|
collect (list i vals result)) |
337 |
|
nil) |
338 |
|
|
339 |
;;; Order of evaluation tests |
;;; Order of evaluation tests |
340 |
|
|
341 |
(deftest map.order.1 |
(deftest map.order.1 |