File: values.lsp

package info (click to toggle)
cl-ansi-tests 20071218-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 7,000 kB
  • ctags: 22,025
  • sloc: lisp: 134,798; makefile: 144
file content (73 lines) | stat: -rw-r--r-- 1,543 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
;-*- Mode:     Lisp -*-
;;;; Author:   Paul Dietz
;;;; Created:  Sat Oct 19 08:18:50 2002
;;;; Contains: Tests of VALUES

(in-package :cl-test)

(deftest values.0
  (values))

(deftest values.1
  (values 1)
  1)

(deftest values.2
  (values 1 2)
  1 2)

(deftest values.3
  (values 1 2 3)
  1 2 3)

(deftest values.4
  (values 1 2 3 4)
  1 2 3 4)

(deftest values.10
  (values 1 2 3 4 5 6 7 8 9 10)
  1 2 3 4 5 6 7 8 9 10)

(deftest values.15
  (values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)

(deftest values.19
  (values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)

(deftest values.20
  (let ((a t) (b t) (c t) (d t) (e t) (f t))
    (setf (values a (values b c) (values d) (values e f)) (values 0 1 2 3 4 5 6))
    (list a b c d e f))
  (0 1 nil 2 3 nil))

(deftest values.21
  (let (a b c d e f)
    (setf (values a (values b c) (values d) (values e f)) (values 0 1 2 3 4 5 6)))
  0 1 2 3)

(deftest values.A
  (values (values 1 2) (values 3 4 5) (values) (values 10))
  1 3 nil 10)

(deftest values.B
  (funcall #'values 1 2 3 4)
  1 2 3 4)

(deftest values.C
  (let ((x (loop for i from 1 to (min 1000
				      (1- call-arguments-limit)
				      (1- multiple-values-limit))
		 collect i)))
    (equalt x
	    (multiple-value-list (apply #'values x))))
  t)

(deftest values.order.1
  (let ((i 0) a b c)
    (values (multiple-value-list
	     (values (setf a (incf i)) (setf b (incf i)) (setf c (incf i))))
	    i a b c))
  (1 2 3) 3 1 2 3)