message: Add column range to struct msg_locator.
[pspp] / tests / language / data-io / data-list.at
1 AT_BANNER([DATA LIST])
2
3 AT_SETUP([DATA LIST LIST with empty fields])
4 AT_DATA([data-list.pspp], [dnl
5 DATA LIST LIST NOTABLE /A B C (F1.0).
6 BEGIN DATA.
7 ,,
8 ,,3
9 ,2,
10 ,2,3
11 1,,
12 1,,3
13 1,2,
14 1,2,3
15 END DATA.
16
17 LIST.
18 ])
19 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
20 Table: Data List
21 A,B,C
22 .,.,.
23 .,.,3
24 .,2,.
25 .,2,3
26 1,.,.
27 1,.,3
28 1,2,.
29 1,2,3
30 ])
31 AT_CLEANUP
32
33 AT_SETUP([DATA LIST LIST with explicit delimiters])
34 AT_DATA([data-list.pspp], [dnl
35 data list list ('|','X') /A B C D.
36 begin data.
37 1|23X45|2.03x
38 2X22|34|23|
39 3|34|34X34
40 end data.
41
42 list.
43 ])
44 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
45 Table: Reading free-form data from INLINE.
46 Variable,Format
47 A,F8.0
48 B,F8.0
49 C,F8.0
50 D,F8.0
51
52 data-list.pspp:3.9-13: warning: Data for variable D is not valid as format F: Number followed by garbage.
53
54 Table: Data List
55 A,B,C,D
56 1.00,23.00,45.00,.  @&t@
57 2.00,22.00,34.00,23.00
58 3.00,34.00,34.00,34.00
59 ])
60 AT_CLEANUP
61
62 AT_SETUP([DATA LIST FREE with SKIP])
63 AT_DATA([data-list.pspp], [dnl
64 data list free skip=1/A B C D.
65 begin data.
66 # This record is ignored.
67 ,1,2,x
68 ,4,,5
69 6
70 7,
71 8 9
72 0,1 ,,,
73 ,,,,
74 2
75
76 3
77 4
78 5
79 end data.
80 list.
81 ])
82 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
83 data-list.pspp:4.6: warning: Data for variable D is not valid as format F: Field contents are not numeric.
84
85 Table: Data List
86 A,B,C,D
87 .  ,1.00,2.00,.  @&t@
88 .  ,4.00,.  ,5.00
89 6.00,7.00,8.00,9.00
90 .00,1.00,.  ,.  @&t@
91 .  ,.  ,.  ,.  @&t@
92 2.00,3.00,4.00,5.00
93 ])
94 AT_CLEANUP
95
96 AT_SETUP([DATA LIST LIST with SKIP and tab delimiter])
97 AT_DATA([data-list.pspp], [dnl
98 data list free (tab) skip=2/A B C D.
99 begin data.
100 # These records
101 # are skipped.
102 1       2       3       4
103 1       2       3       @&t@
104 1       2               4
105 1       2               @&t@
106 1               3       4
107 1               3       @&t@
108 1                       4
109 1                       @&t@
110         2       3       4
111         2       3       @&t@
112         2               4
113         2               @&t@
114                 3       4
115                 3       @&t@
116                         4
117                         @&t@
118 end data.
119 list.
120 ])
121 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
122 Table: Data List
123 A,B,C,D
124 1.00,2.00,3.00,4.00
125 1.00,2.00,3.00,.  @&t@
126 1.00,2.00,.  ,4.00
127 1.00,2.00,.  ,.  @&t@
128 1.00,.  ,3.00,4.00
129 1.00,.  ,3.00,.  @&t@
130 1.00,.  ,.  ,4.00
131 1.00,.  ,.  ,.  @&t@
132 .  ,2.00,3.00,4.00
133 .  ,2.00,3.00,.  @&t@
134 .  ,2.00,.  ,4.00
135 .  ,2.00,.  ,.  @&t@
136 .  ,.  ,3.00,4.00
137 .  ,.  ,3.00,.  @&t@
138 .  ,.  ,.  ,4.00
139 .  ,.  ,.  ,.  @&t@
140 ])
141 AT_CLEANUP
142
143 AT_SETUP([DATA LIST FIXED with multiple records per case])
144 AT_DATA([data-list.pspp], [dnl
145 data list fixed notable
146         /1 start 1-20 (adate)
147         /2 end 1-20 (adate)
148         /3 count 1-3.
149 begin data.
150 07-22-2007
151 10-06-2007
152 x
153 07-14-1789
154 08-26-1789
155 xy
156 01-01-1972
157 12-31-1999
158 682
159 end data.
160 list.
161 ])
162 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
163 data-list.pspp:8.1-3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
164
165 data-list.pspp:11.1-3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
166
167 Table: Data List
168 start,end,count
169 07/22/2007,10/06/2007,.
170 07/14/1789,08/26/1789,.
171 01/01/1972,12/31/1999,682
172 ])
173 AT_CLEANUP
174
175 AT_SETUP([DATA LIST FIXED with empty trailing record])
176 AT_DATA([data-list.pspp], [dnl
177 data list fixed notable records=2/x 1 y 2.
178 begin data.
179 12
180
181 34
182
183 56
184
185 78
186
187 90
188
189 end data.
190 list.
191 ])
192 AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
193 Table: Data List
194 x,y
195 1,2
196 3,4
197 5,6
198 7,8
199 9,0
200 ])
201 AT_CLEANUP