From: Alfredo Beaumont Date: Sat, 11 May 2013 19:51:10 +0000 (+0200) Subject: [test] Add tests for car and cdr variants X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=b28bbe45d24fc1fcb7fcab893162eaa51ba9a1aa;p=jscl.git [test] Add tests for car and cdr variants --- diff --git a/tests/list.lisp b/tests/list.lisp index 4e6fb0c..17c3863 100644 --- a/tests/list.lisp +++ b/tests/list.lisp @@ -34,6 +34,42 @@ (test (equal (rplacd (last some-list) (list 'IV)) '(THREE IV))) (test (equal some-list '(ONE TWO THREE IV)))) +;; CAR, CDR and variants +(test (equal (car nil) nil)) +(test (equal (cdr '(1 . 2)) 2)) +(test (equal (cdr '(1 2)) '(2))) +(test (equal (cadr '(1 2)) 2)) +(test (equal (car '(a b c)) 'a)) +(test (equal (cdr '(a b c)) '(b c))) +(test (equal (caar '((1 2) 3)) 1)) +(test (equal (cadr '(1 2 3)) 2)) +(test (equal (cdar '((1 2) 3)) '(2))) +(test (equal (cddr '(1 2 3)) '(3))) +(test (equal (caaar '(((1)))) 1)) +(test (equal (caadr '(1 (2))) 2)) +(test (equal (cadar '((1 2))) 2)) +(test (equal (caddr '(1 2 3)) 3)) +(test (equal (cdaar '(((1 2)))) '(2))) +(test (equal (cdadr '(1 (2 3))) '(3))) +(test (equal (cddar '((1 2 3))) '(3))) +(test (equal (cdddr '(1 2 3 4)) '(4))) +(test (equal (caaaar '((((1))))) 1)) +(test (equal (caaadr '(1 ((2)))) 2)) +(test (equal (caadar '((1 (2)))) 2)) +(test (equal (caaddr '(1 2 (3))) 3)) +(test (equal (cadaar '(((1 2)))) 2)) +(test (equal (cadadr '(1 (2 3))) 3)) +(test (equal (caddar '((1 2 3))) 3)) +(test (equal (cadddr '(1 2 3 4)) 4)) +(test (equal (cdaaar '((((1 2))))) '(2))) +(test (equal (cdaadr '(1 ((2 3)))) '(3))) +(test (equal (cdadar '((1 (2 3)))) '(3))) +(test (equal (cdaddr '(1 2 (3 4))) '(4))) +(test (equal (cddaar '(((1 2 3)))) '(3))) +(test (equal (cddadr '(1 (2 3 4))) '(4))) +(test (equal (cdddar '((1 2 3 4))) '(4))) +(test (equal (cddddr '(1 2 3 4 5)) '(5))) + ; COPY-TREE (test (let* ((foo (list '(1 2) '(3 4))) (bar (copy-tree foo)))