QUICK CLUSTER: Fix infinite loop on bad command name.
[pspp] / tests / language / stats / quick-cluster.at
index 05688e8e2ee65c05503ad3ca6d73f4a9e40d07e8..b3025651dcc6000da790595a60a82df79a73e265 100644 (file)
@@ -151,5 +151,96 @@ AT_CHECK([pspp -o pspp-nm.csv quick-nmiss.sps])
 
 AT_CHECK([diff pspp-m.csv pspp-nm.csv], [0])
 
+AT_CLEANUP
+
+
+AT_SETUP([QUICK CLUSTER with pairwise missing])
+AT_DATA([quick-s.sps], [dnl
+data list notable list /x * y *.
+begin data.
+1   2
+1   2.2
+1.1 1.9
+1   9
+1   10
+1.3 9.5
+0.9 8.9
+3.5 2
+3.4 3
+3.5 2.5
+3.1 2.0
+3.9 2.5
+3.8 2.0
+end data.
+
+QUICK CLUSTER x y 
+       /CRITERIA = CLUSTER(3) MXITER (100)
+       .
+])
+
+AT_CHECK([pspp -O format=csv quick-s.sps | tail -5 > pspp-s.csv])
+
+AT_DATA([quick-pw.sps], [dnl
+data list notable list /x * y *.
+begin data.
+1   2
+1   2.2
+1.1 1.9
+1   9
+1   10
+1.3 9.5
+0.9 8.9
+3.5 2
+3.4 3
+3.5 2.5
+3.1 2.0
+3.9 .
+3.8 .
+end data.
+
+QUICK CLUSTER x y 
+       /CRITERIA = CLUSTER(3) MXITER (100)
+       /MISSING = PAIRWISE
+       .
+])
+
+AT_CHECK([pspp -O format=csv quick-pw.sps | tail -5 > pspp-pw.csv])
+
+AT_CHECK([diff pspp-s.csv pspp-pw.csv], [0])
+
+
+AT_CLEANUP
+
+
+
+AT_SETUP([QUICK CLUSTER crash on bad cluster quantity])
+AT_DATA([badn.sps], [dnl
+data list notable list /x * y *.
+begin data.
+1   2
+1   2.2
+end data.
+
+QUICK CLUSTER x y 
+       /CRITERIA = CLUSTER(0)
+       .
+])
+
+AT_CHECK([pspp -O format=csv badn.sps], [1], [ignore])
 
 AT_CLEANUP
+
+AT_SETUP([QUICK CLUSTER infinite loop on bad command name])
+AT_DATA([quick-cluster.sps], [dnl
+data list notable list /x y.
+begin data.
+1   2
+1   2.2
+end data.
+
+QUICK CLUSTER x y /UNSUPPORTED.
+])
+AT_CHECK([pspp -O format=csv quick-cluster.sps], [1], [dnl
+quick-cluster.sps:7.20-7.30: error: QUICK CLUSTER: Syntax error at `UNSUPPORTED'.
+])
+AT_CLEANUP