~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to ansi-tests/acons.lsp

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
;-*- Mode:     Lisp -*-
 
2
;;;; Author:   Paul Dietz
 
3
;;;; Created:  Sun Apr 20 07:26:48 2003
 
4
;;;; Contains: Tests of ACONS
 
5
 
 
6
(in-package :cl-test)
 
7
 
 
8
(compile-and-load "cons-aux.lsp")
 
9
 
 
10
(deftest acons.1
 
11
  (let* ((x (copy-tree '((c . d) (e . f))))
 
12
         (xcopy (make-scaffold-copy x))
 
13
         (result (acons 'a 'b x)))
 
14
    (and
 
15
     (check-scaffold-copy x xcopy)
 
16
     (eqt (cdr result) x)
 
17
     result))
 
18
  ((a . b) (c . d) (e . f)))
 
19
 
 
20
(deftest acons.2
 
21
  (acons 'a 'b nil)
 
22
  ((a . b)))
 
23
 
 
24
(deftest acons.3
 
25
  (acons 'a 'b 'c)
 
26
  ((a . b) . c))
 
27
 
 
28
(deftest acons.4
 
29
  (acons '((a b)) '(((c d) e) f) '((1 . 2)))
 
30
  (( ((a b)) . (((c d) e) f)) (1 . 2)))
 
31
 
 
32
(deftest acons.5
 
33
  (acons "ancd" 1.143 nil)
 
34
  (("ancd" . 1.143)))
 
35
 
 
36
(deftest acons.6
 
37
  (acons #\R :foo :bar)
 
38
  ((#\R . :foo) . :bar))
 
39
 
 
40
(deftest acons.order.1
 
41
  (let ((i 0) x y z)
 
42
    (values
 
43
     (acons (progn (setf x (incf i)) 'a)
 
44
            (progn (setf y (incf i)) 'b)
 
45
            (progn (setf z (incf i)) '((c . d))))
 
46
     i x y z))
 
47
  ((a . b)(c . d))
 
48
  3 1 2 3)
 
49
 
 
50
(deftest acons.error.1
 
51
  (signals-error (acons) program-error)
 
52
  t)
 
53
 
 
54
(deftest acons.error.2
 
55
  (signals-error (acons 'a) program-error)
 
56
  t)
 
57
 
 
58
(deftest acons.error.3
 
59
  (signals-error (acons 'a 'b) program-error)
 
60
  t)
 
61
 
 
62
(deftest acons.error.4
 
63
  (signals-error (acons 'a 'b 'c 'd) program-error)
 
64
  t)