MATRIX DATA: Cope with long variable names
[pspp] / tests / language / data-io / matrix-data.at
1 AT_BANNER([MATRIX DATA])
2
3 AT_SETUP([Matrix data (lower file)])
4
5 AT_DATA([matrix-data.pspp], [dnl
6 matrix data
7     variables = rowtype_
8     var01 TO var08
9     /format = lower diagonal
10     /file = 'matrix.dat'
11     .
12
13 list.
14 ])
15
16 AT_DATA([matrix.dat], [dnl
17 mean  24.3  5.4  69.7  20.1  13.4  2.7  27.9  3.7
18 sd    5.7   1.5  23.5  5.8   2.8   4.5  5.4   1.5
19 n     92    92   92    92    92    92   92    92
20 corr 1.00
21 corr .18  1.00
22 corr -.22  -.17  1.00
23 corr .36  .31  -.14  1.00
24 corr .27  .16  -.12  .22  1.00
25 corr .33  .15  -.17  .24  .21  1.00
26 corr .50  .29  -.20  .32  .12  .38  1.00
27 corr .17  .29  -.05  .20  .27  .20  .04  1.00
28 ])
29
30
31 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
32 Table: Data List
33 ROWTYPE_,VARNAME_,var01,var02,var03,var04,var05,var06,var07,var08
34 mean    ,,24.3000,5.4000,69.7000,20.1000,13.4000,2.7000,27.9000,3.7000
35 STDDEV  ,,5.7000,1.5000,23.5000,5.8000,2.8000,4.5000,5.4000,1.5000
36 n       ,,92.0000,92.0000,92.0000,92.0000,92.0000,92.0000,92.0000,92.0000
37 corr    ,var01,1.0000,.1800,-.2200,.3600,.2700,.3300,.5000,.1700
38 corr    ,var02,.1800,1.0000,-.1700,.3100,.1600,.1500,.2900,.2900
39 corr    ,var03,-.2200,-.1700,1.0000,-.1400,-.1200,-.1700,-.2000,-.0500
40 corr    ,var04,.3600,.3100,-.1400,1.0000,.2200,.2400,.3200,.2000
41 corr    ,var05,.2700,.1600,-.1200,.2200,1.0000,.2100,.1200,.2700
42 corr    ,var06,.3300,.1500,-.1700,.2400,.2100,1.0000,.3800,.2000
43 corr    ,var07,.5000,.2900,-.2000,.3200,.1200,.3800,1.0000,.0400
44 corr    ,var08,.1700,.2900,-.0500,.2000,.2700,.2000,.0400,1.0000
45 ])
46 AT_CLEANUP
47
48
49
50 AT_SETUP([Matrix data (upper)])
51
52 AT_DATA([matrix-data.pspp], [dnl
53 matrix data
54     variables = rowtype_  var01 var02 var03 var04
55     /format = upper diagonal.
56
57 begin data
58 mean        34 35 36 37
59 sd          22 11 55 66
60 n_vector    100 101 102 103
61 corr        1 9 8 7
62 corr        1 6 5
63 corr        1 4
64 corr        1
65 end data.
66
67 list.
68 ])
69
70 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
71 Table: Data List
72 ROWTYPE_,VARNAME_,var01,var02,var03,var04
73 mean    ,,34.0000,35.0000,36.0000,37.0000
74 STDDEV  ,,22.0000,11.0000,55.0000,66.0000
75 N       ,,100.0000,101.0000,102.0000,103.0000
76 corr    ,var01,1.0000,9.0000,8.0000,7.0000
77 corr    ,var02,9.0000,1.0000,6.0000,5.0000
78 corr    ,var03,8.0000,6.0000,1.0000,4.0000
79 corr    ,var04,7.0000,5.0000,4.0000,1.0000
80 ])
81
82 AT_CLEANUP
83
84 AT_SETUP([Matrix data (full)])
85
86 dnl Just for fun, this one is in a different case.
87 AT_DATA([matrix-data.pspp], [dnl
88 matrix data
89     variables = ROWTYPE_  var01 var02 var03 var04
90     /format = full diagonal.
91
92 begin data
93 MEAN 34 35 36 37
94 SD   22 11 55 66
95 N    100 101 102 103
96 CORR 1 9 8 7
97 CORR 9 1 6 5
98 CORR 8 6 1 4
99 CORR 7 5 4 1
100 end data.
101
102 list.
103 ])
104
105
106 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
107 Table: Data List
108 ROWTYPE_,VARNAME_,var01,var02,var03,var04
109 MEAN    ,,34.0000,35.0000,36.0000,37.0000
110 STDDEV  ,,22.0000,11.0000,55.0000,66.0000
111 N       ,,100.0000,101.0000,102.0000,103.0000
112 CORR    ,var01,1.0000,9.0000,8.0000,7.0000
113 CORR    ,var02,9.0000,1.0000,6.0000,5.0000
114 CORR    ,var03,8.0000,6.0000,1.0000,4.0000
115 CORR    ,var04,7.0000,5.0000,4.0000,1.0000
116 ])
117
118 AT_CLEANUP
119
120
121 AT_SETUP([Matrix data (upper nodiagonal)])
122
123 AT_DATA([matrix-data.pspp], [dnl
124 matrix data
125     variables = rowtype_  var01 var02 var03 var04
126     /format = upper nodiagonal.
127
128 begin data
129 mean 34 35 36 37
130 sd   22 11 55 66
131 n    100 101 102 103
132 corr  9 8 7
133 corr  6 5
134 corr  4
135 end data.
136
137 list.
138 ])
139
140 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
141 Table: Data List
142 ROWTYPE_,VARNAME_,var01,var02,var03,var04
143 mean    ,,34.0000,35.0000,36.0000,37.0000
144 STDDEV  ,,22.0000,11.0000,55.0000,66.0000
145 n       ,,100.0000,101.0000,102.0000,103.0000
146 corr    ,var01,1.0000,9.0000,8.0000,7.0000
147 corr    ,var02,9.0000,1.0000,6.0000,5.0000
148 corr    ,var03,8.0000,6.0000,1.0000,4.0000
149 corr    ,var04,7.0000,5.0000,4.0000,1.0000
150 ])
151
152 AT_CLEANUP
153
154
155 AT_SETUP([Matrix data (lower nodiagonal)])
156
157 AT_DATA([matrix-data.pspp], [dnl
158 matrix data
159     variables = rowtype_  var01 var02 var03 var04
160     /format = lower nodiagonal.
161
162 begin data
163 mean 34 35 36 37
164 sd   22 11 55 66
165 n    100 101 102 103
166 corr  9
167 corr  8 6
168 corr  7 5 4
169 end data.
170
171 list.
172 ])
173
174 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
175 Table: Data List
176 ROWTYPE_,VARNAME_,var01,var02,var03,var04
177 mean    ,,34.0000,35.0000,36.0000,37.0000
178 STDDEV  ,,22.0000,11.0000,55.0000,66.0000
179 n       ,,100.0000,101.0000,102.0000,103.0000
180 corr    ,var01,1.0000,9.0000,8.0000,7.0000
181 corr    ,var02,9.0000,1.0000,6.0000,5.0000
182 corr    ,var03,8.0000,6.0000,1.0000,4.0000
183 corr    ,var04,7.0000,5.0000,4.0000,1.0000
184 ])
185
186 AT_CLEANUP
187
188
189
190 AT_SETUP([Matrix data split data])
191
192 AT_DATA([matrix-data.pspp], [dnl
193 matrix data
194     variables = s1 s2 rowtype_  var01 var02 var03
195     /split=s1 s2.
196
197 begin data
198 8 0   mean     21.4  5.0  72.9
199 8 0   sd       6.5   1.6  22.8
200 8 0   n        106   106  106
201 8 0   corr     1
202 8 0   corr    .41  1
203 8 0   corr    -.16  -.22  1
204 8 1   mean     11.4  1.0  52.9
205 8 1   sd       9.5   8.6  12.8
206 8 1   n        10   11  12
207 8 1   corr     1
208 8 1   corr    .51  1
209 8 1   corr    .36  -.41  1
210 end data.
211
212 display dictionary.
213
214 list.
215 ])
216
217
218 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
219 Variable,Description,Position
220 s1,Format: F4.0,1
221 s2,Format: F4.0,2
222 ROWTYPE_,Format: A8,3
223 VARNAME_,Format: A8,4
224 var01,Format: F10.4,5
225 var02,Format: F10.4,6
226 var03,Format: F10.4,7
227
228 Table: Data List
229 s1,s2,ROWTYPE_,VARNAME_,var01,var02,var03
230 8,0,mean    ,,21.4000,5.0000,72.9000
231 8,0,STDDEV  ,,6.5000,1.6000,22.8000
232 8,0,n       ,,106.0000,106.0000,106.0000
233 8,0,corr    ,var01,1.0000,.4100,-.1600
234 8,0,corr    ,var02,.4100,1.0000,-.2200
235 8,0,corr    ,var03,-.1600,-.2200,1.0000
236 8,1,mean    ,,11.4000,1.0000,52.9000
237 8,1,STDDEV  ,,9.5000,8.6000,12.8000
238 8,1,n       ,,10.0000,11.0000,12.0000
239 8,1,corr    ,var01,1.0000,.5100,.3600
240 8,1,corr    ,var02,.5100,1.0000,-.4100
241 8,1,corr    ,var03,.3600,-.4100,1.0000
242 ])
243
244 AT_CLEANUP
245
246
247
248
249 AT_SETUP([Matrix data duplicate variable])
250
251 dnl Negative test to check for sane behaviour in the face of bad syntax
252 AT_DATA([matrix-data.pspp], [dnl
253 set decimal = dot .
254 matrix data
255     variables = s1 s1 rowtype_  var01 var02 var03
256     /split=s1.
257
258 begin data
259 0   mean     21.4  5.0  72.9
260 0   sd       6.5   1.6  22.8
261 0   n        106   106  106
262 0   corr     1
263 0   corr    .41  1
264 0   corr    -.16  -.22  1
265 end data .
266
267 list.
268 ])
269
270
271 AT_CHECK([pspp -O format=csv matrix-data.pspp], [1], [dnl
272 matrix-data.pspp:3: error: MATRIX DATA: Variable s1 appears twice in variable list.
273
274 matrix-data.pspp:6: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
275 ])
276
277 AT_CLEANUP
278
279
280
281 AT_SETUP([Matrix data - long variable names])
282
283 AT_DATA([matrix-data.pspp], [dnl
284 matrix data
285     variables = rowtype_  var01 var_two variable_number_three variableFour
286     /format = upper diagonal.
287
288 begin data
289 mean         34  35  36  37
290 sd           22  11  55  66
291 n_vector    100 101 102 103
292 corr          1   9   8   7
293 corr              1   6   5
294 corr                  1   4
295 corr                      1
296 end data.
297
298 list.
299 ])
300
301 AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl
302 Table: Data List
303 ROWTYPE_,VARNAME_,var01,var_two,variable_number_three,variableFour
304 mean    ,,34.0000,35.0000,36.0000,37.0000
305 STDDEV  ,,22.0000,11.0000,55.0000,66.0000
306 N       ,,100.0000,101.0000,102.0000,103.0000
307 corr    ,var01,1.0000,9.0000,8.0000,7.0000
308 corr    ,var_two,9.0000,1.0000,6.0000,5.0000
309 corr    ,variable_number_three,8.0000,6.0000,1.0000,4.0000
310 corr    ,variableFour,7.0000,5.0000,4.0000,1.0000
311 ])
312
313 AT_CLEANUP