File: test-iterators.lisp

package info (click to toggle)
cl-containers 20140211-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,076 kB
  • ctags: 1,386
  • sloc: lisp: 8,330; makefile: 14
file content (98 lines) | stat: -rw-r--r-- 2,865 bytes parent folder | download | duplicates (4)
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
(in-package #:containers)

(collect-elements 
 (make-iterator '(1 2 3 4 5) :filter #'oddp))

;;; ---------------------------------------------------------------------------

(lift:deftestsuite test-iterators ()
  ())

(lift:addtest (test-iterators)
  collecting-nil
  (lift:ensure-same nil (collect-elements (make-iterator nil :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-one-even
  (lift:ensure-same nil (collect-elements (make-iterator '(2) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-odd-even 
  (lift:ensure-same '(3) (collect-elements (make-iterator '(3 2) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-even-odd
  (lift:ensure-same '(3) (collect-elements (make-iterator '(2 3) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-list 
  (lift:ensure-same '(3 1 3) 
                    (collect-elements (make-iterator '(3 2 4 1 3 2) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-list 
  (lift:ensure-same '(3 1) 
                    (collect-elements (make-iterator '(3 2 4 1 3 2)
                                                     :filter #'oddp
                                                     :unique t))))



(lift:deftestsuite test-iterators ()
  ())

(lift:addtest (test-iterators)
  collecting-nil
  (lift:ensure-same nil (collect-elements (make-iterator #() :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-one-even
  (lift:ensure-same nil (collect-elements (make-iterator #(2) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-odd-even 
  (lift:ensure-same '(3) (collect-elements (make-iterator #(3 2) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-even-odd
  (lift:ensure-same '(3) (collect-elements (make-iterator #(2 3) :filter #'oddp))))

(lift:addtest (test-iterators)
  collecting-list 
  (lift:ensure-same '(3 1) 
                    (collect-elements (make-iterator #(3 2 4 1 3 2) 
                                                     :filter #'oddp
                                                     :unique t))))
#|


(setf i (make-iterator '( 4 1 3 5) :filter #'evenp))
(current-element i)
(move-forward-p i)
(move-forward i)
(current-element-p i)

(collect-elements (make-iterator #2A((3 2 4) (1 3 2)) 
                                 :filter #'oddp
                                 :unique t
                                 :transform #'u::square))

(collect-elements 
 (make-iterator #(3 2 4 1 3 2) 
                :filter #'oddp
                :unique t
                :transform #'u::square))
|#

#|
(bind ((c (make-container 'list-container :initial-contents '(1 2 3)))
       (i (make-iterator c)))
  (print (next-element i))
  (print (next-element i))
  (print (next-element i))
  (reset i)
  (print (next-element i))
  (print (next-element i))
  (print (next-element i))
  (values))
|#