1 AT_BANNER([QUICK CLUSTER])
3 AT_SETUP([QUICK CLUSTER with small data set])
4 AT_DATA([quick-cluster.sps], [dnl
20 /CRITERIA=CLUSTER(2) MXITER(20).
22 AT_CHECK([pspp -o pspp.csv quick-cluster.sps])
23 AT_CHECK([cat pspp.csv], [0], [dnl
24 Table: Reading free-form data from INLINE.
30 Table: Final Cluster Centers
39 Table: Number of Cases in each Cluster
46 AT_SETUP([QUICK CLUSTER with large data set])
47 AT_DATA([quick-cluster.sps], [dnl
55 QUICK CLUSTER x /CRITERIA = CLUSTER(4) NOINITIAL.
57 AT_CHECK([pspp -o pspp.csv quick-cluster.sps])
58 AT_CHECK([cat pspp.csv], [0], [dnl
59 Table: Final Cluster Centers
66 Table: Number of Cases in each Cluster
76 AT_SETUP([QUICK CLUSTER with weights])
77 AT_DATA([qc-weighted.sps], [dnl
80 compute x = mod (#i, 4).
85 compute x = mod (#i, 4).
94 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
97 AT_CHECK([pspp -o pspp-w.csv qc-weighted.sps])
100 AT_DATA([qc-unweighted.sps], [dnl
103 compute x = mod (#i, 4).
109 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
112 AT_CHECK([pspp -o pspp-unw.csv qc-unweighted.sps])
114 AT_CHECK([diff pspp-w.csv pspp-unw.csv], [0])
118 AT_SETUP([QUICK CLUSTER with listwise missing])
119 AT_DATA([quick-miss.sps], [dnl
120 data list notable list /x *.
131 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
134 AT_CHECK([pspp -o pspp-m.csv quick-miss.sps])
136 AT_DATA([quick-nmiss.sps], [dnl
137 data list notable list /x *.
147 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
150 AT_CHECK([pspp -o pspp-nm.csv quick-nmiss.sps])
152 AT_CHECK([diff pspp-m.csv pspp-nm.csv], [0])
157 AT_SETUP([QUICK CLUSTER with pairwise missing])
159 dnl This test runs two programs, which are identical except that one
160 dnl has an extra case with one missing value. Becuase the syntax uses
161 dnl NOINITIAL and NOUPDATE, the results should be identical except for
162 dnl the final classification.
164 AT_DATA([quick-s.sps], [dnl
165 data list notable list /x * y *.
182 /CRITERIA = CLUSTER(3) NOINITIAL NOUPDATE
186 AT_CHECK([pspp -O format=csv quick-s.sps > pspp-s.csv])
188 AT_DATA([quick-pw.sps], [dnl
189 data list notable list /x * y *.
206 /CRITERIA = CLUSTER(3) NOINITIAL NOUPDATE
212 AT_CHECK([pspp -O format=csv quick-pw.sps > pspp-pw.csv])
214 AT_CHECK([head -n 18 pspp-s.csv > top-s.csv])
215 AT_CHECK([head -n 18 pspp-pw.csv > top-pw.csv])
216 AT_CHECK([diff top-s.csv top-pw.csv])
219 AT_CHECK([grep Valid pspp-s.csv], [0], [Valid,,11
222 AT_CHECK([grep Valid pspp-pw.csv], [0], [Valid,,12
230 AT_SETUP([QUICK CLUSTER crash on bad cluster quantity])
231 AT_DATA([badn.sps], [dnl
232 data list notable list /x * y *.
239 /CRITERIA = CLUSTER(0)
243 AT_CHECK([pspp -O format=csv badn.sps], [1], [ignore])
247 AT_SETUP([QUICK CLUSTER infinite loop on bad command name])
248 AT_DATA([quick-cluster.sps], [dnl
249 data list notable list /x y.
255 QUICK CLUSTER x y /UNSUPPORTED.
257 AT_CHECK([pspp -O format=csv quick-cluster.sps], [1], [dnl
258 quick-cluster.sps:7.20-7.30: error: QUICK CLUSTER: Syntax error at `UNSUPPORTED'.
264 AT_SETUP([QUICK CLUSTER /PRINT subcommand])
265 AT_DATA([quick-cluster.sps], [dnl
266 data list notable list /cluster (A8) x (F) y (F).
328 /CRITERIA=CLUSTERS(3)
329 /PRINT=INITIAL CLUSTER.
332 AT_CHECK([pspp -O format=csv quick-cluster.sps], [0], [dnl
333 Table: Initial Cluster Centers
341 Table: Final Cluster Centers
349 Table: Number of Cases in each Cluster
355 Table: Cluster Membership
419 dnl Test for a crash which happened on bad input syntax
420 AT_SETUP([QUICK CLUSTER -- Empty Parentheses])
422 AT_DATA([empty-parens.sps], [dnl
423 data list notable list /x * y *.
430 /CRITERIA = CONVERGE()
434 AT_CHECK([pspp -o pspp.csv empty-parens.sps], [1], [ignore])