NPAR TESTS: Convert CHISQUARE tests to Autotest framework.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 3 Oct 2010 12:37:39 +0000 (05:37 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 3 Oct 2010 22:46:06 +0000 (15:46 -0700)
tests/automake.mk
tests/command/npar-chisquare.sh [deleted file]
tests/language/stats/npar.at

index 43d2c07b226d6ca4b14f0cd2de8c8fd7778d1574..b356189c4bb6500ee3b7099686b9095b59b55346 100644 (file)
@@ -10,7 +10,6 @@ TESTS_ENVIRONMENT += LC_ALL=C
 TESTS_ENVIRONMENT += EXEEXT=$(EXEEXT)
 
 dist_TESTS = \
-       tests/command/npar-chisquare.sh \
        tests/command/npar-wilcoxon.sh \
        tests/command/npar-sign.sh \
        tests/command/permissions.sh \
diff --git a/tests/command/npar-chisquare.sh b/tests/command/npar-chisquare.sh
deleted file mode 100755 (executable)
index 59aec8a..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-#!/bin/sh
-
-# This program tests the chisquare subcommand of the NPAR command.
-
-TEMPDIR=/tmp/pspp-tst-$$
-TESTFILE=$TEMPDIR/`basename $0`.sps
-
-# ensure that top_srcdir and top_builddir  are absolute
-if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
-if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
-top_srcdir=`cd $top_srcdir; pwd`
-top_builddir=`cd $top_builddir; pwd`
-
-PSPP=$top_builddir/src/ui/terminal/pspp$EXEEXT
-
-STAT_CONFIG_PATH=$top_srcdir/config
-export STAT_CONFIG_PATH
-
-LANG=C
-export LANG
-
-
-cleanup()
-{
-     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
-       echo "NOT cleaning $TEMPDIR"
-       return ; 
-     fi
-     cd /
-     rm -rf $TEMPDIR
-}
-
-
-fail()
-{
-    echo $activity
-    echo FAILED
-    cleanup;
-    exit 1;
-}
-
-
-no_result()
-{
-    echo $activity
-    echo NO RESULT;
-    cleanup;
-    exit 2;
-}
-
-pass()
-{
-    cleanup;
-    exit 0;
-}
-
-mkdir -p $TEMPDIR
-
-cd $TEMPDIR
-
-activity="create file 1"
-cat <<EOF > $TESTFILE
-DATA LIST NOTABLE LIST /x * y * w *.
-BEGIN DATA.
-1   2  1
-2   1  3
-3.1 1  4
-3.2 2  1
-4   2  2
-5   3  1
-1   4  2
-END DATA.
-
-WEIGHT BY w.
-
-NPAR TESTS
-  CHISQUARE=x y
-  .
-
-NPAR TESTS
-  CHISQUARE=y
-  /EXPECTED=3 4 5 4
-  .
-
-NPAR TESTS
-  CHISQUARE=x y(2, 4)
-  /EXPECTED = 6 10 3
-  .
-
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program 1"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE
-if [ $? -ne 0 ] ; then no_result ; fi
-
-activity="compare output 1"
-diff -c $TEMPDIR/pspp.csv - << EOF
-Table: x
-,Observed N,Expected N,Residual
-1.00,3.00,2.33,.67
-2.00,3.00,2.33,.67
-3.10,4.00,2.33,1.67
-3.20,1.00,2.33,-1.33
-4.00,2.00,2.33,-.33
-5.00,1.00,2.33,-1.33
-Total,14.00,,
-
-Table: y
-,Observed N,Expected N,Residual
-1.00,7.00,3.50,3.50
-2.00,4.00,3.50,.50
-3.00,1.00,3.50,-2.50
-4.00,2.00,3.50,-1.50
-Total,14.00,,
-
-Table: Test Statistics
-,x,y
-Chi-Square,3.14,6.00
-df,5,3
-Asymp. Sig.,.68,.11
-
-Table: y
-,Observed N,Expected N,Residual
-1.00,7.00,2.63,4.38
-2.00,4.00,3.50,.50
-3.00,1.00,4.38,-3.38
-4.00,2.00,3.50,-1.50
-Total,14.00,,
-
-Table: Test Statistics
-,y
-Chi-Square,10.61
-df,3
-Asymp. Sig.,.01
-
-Table: Frequencies
-,x,,,,y,,,
-,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
-1,2.00,3.00,3.16,-.16,2.00,4.00,2.21,1.79
-2,3.00,5.00,5.26,-.26,3.00,1.00,3.68,-2.68
-3,4.00,2.00,1.58,.42,4.00,2.00,1.11,.89
-Total,,10.00,,,,7.00,,
-
-Table: Test Statistics
-,x,y
-Chi-Square,.13,4.13
-df,2,2
-Asymp. Sig.,.94,.13
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-activity="create file 2"
-cat <<EOF > $TESTFILE
-DATA LIST NOTABLE LIST /x * y * w *.
-BEGIN DATA.
-1   2  1
-2   1  3
-3.1 1  4
-3.2 2  1
-4   2  2
-5   3  1
-1   4  2
-END DATA.
-
-WEIGHT BY w.
-
-NPAR TESTS
-  CHISQUARE=y
-  /EXPECTED = 3 4 5 4 3 1
-  .
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program 2"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE -e $TEMPDIR/output
-if [ $? -eq 0 ] ; then no_result ; fi
-
-activity="compare errors 2"
-perl -pi -e 's/^\s*$//g' $TEMPDIR/output
-diff -b  $TEMPDIR/output - << EOF
-error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y.
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-activity="create file 3"
-cat <<EOF > $TESTFILE
-DATA LIST NOTABLE LIST /x * y * w * .
-BEGIN DATA.
-1   2  1 
-2   1  3
-3.1 1  4
-3.2 2  1
-4   2  2
-5   3  1
-1   4  2
-.   5  1
-END DATA.
-
-WEIGHT BY w.
-
-MISSING VALUES x (4).
-
-NPAR TESTS
-  CHISQUARE=x y(-2,5)
-  /MISSING=ANALYSIS
-  /STATISTICS=DESCRIPTIVES
-  .
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program 3"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE 
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="compare output 3"
-diff -c $TEMPDIR/pspp.csv - <<EOF
-Table: Frequencies
-,x,,,,y,,,
-,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
-1,-2.00,.00,1.50,-1.50,-2.00,.00,1.88,-1.88
-2,-1.00,.00,1.50,-1.50,-1.00,.00,1.88,-1.88
-3,.00,.00,1.50,-1.50,.00,.00,1.88,-1.88
-4,1.00,3.00,1.50,1.50,1.00,7.00,1.88,5.13
-5,2.00,3.00,1.50,1.50,2.00,4.00,1.88,2.13
-6,3.00,5.00,1.50,3.50,3.00,1.00,1.88,-.88
-7,4.00,.00,1.50,-1.50,4.00,2.00,1.88,.13
-8,5.00,1.00,1.50,-.50,5.00,1.00,1.88,-.88
-Total,,12.00,,,,15.00,,
-
-Table: Test Statistics
-,x,y
-Chi-Square,17.33,22.87
-df,7,7
-Asymp. Sig.,.02,.00
-
-Table: Descriptive Statistics
-,N,Mean,Std. Deviation,Minimum,Maximum
-,,,,,
-x,12.00,2.47,1.19,1.00,5.00
-y,15.00,2.07,1.33,1.00,5.00
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-activity="create file 4"
-cat <<EOF > $TESTFILE
-DATA LIST NOTABLE LIST /x * y * w * .
-BEGIN DATA.
-1   2  1 
-2   1  3
-3.1 1  4
-3.2 2  1
-4   2  2
-5   3  1
-1   4  2
-.   5  1
-END DATA.
-
-WEIGHT BY w.
-
-* MISSING VALUES x (4).
-
-NPAR TESTS
-  CHISQUARE=x y(-2,5)
-  /MISSING=LISTWISE
-  /STATISTICS=DESCRIPTIVES
-  .
-EOF
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="run program 4"
-$SUPERVISOR $PSPP -o pspp.csv $TESTFILE 
-if [ $? -ne 0 ] ; then no_result ; fi
-
-
-activity="compare output 4"
-diff -c $TEMPDIR/pspp.csv - <<EOF
-Table: Frequencies
-,x,,,,y,,,
-,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
-1,-2.00,.00,1.75,-1.75,-2.00,.00,1.75,-1.75
-2,-1.00,.00,1.75,-1.75,-1.00,.00,1.75,-1.75
-3,.00,.00,1.75,-1.75,.00,.00,1.75,-1.75
-4,1.00,3.00,1.75,1.25,1.00,7.00,1.75,5.25
-5,2.00,3.00,1.75,1.25,2.00,4.00,1.75,2.25
-6,3.00,5.00,1.75,3.25,3.00,1.00,1.75,-.75
-7,4.00,2.00,1.75,.25,4.00,2.00,1.75,.25
-8,5.00,1.00,1.75,-.75,5.00,.00,1.75,-1.75
-Total,,14.00,,,,14.00,,
-
-Table: Test Statistics
-,x,y
-Chi-Square,13.43,26.00
-df,7,7
-Asymp. Sig.,.06,.00
-
-Table: Descriptive Statistics
-,N,Mean,Std. Deviation,Minimum,Maximum
-,,,,,
-x,14.00,2.69,1.23,1.00,5.00
-y,14.00,1.86,1.10,1.00,4.00
-EOF
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-pass;
index 016362699402db96ee507f1b2dc5bf3ce31afb4b..760613c0538c748e9aa4e60a5461f33be36f999c 100644 (file)
@@ -274,3 +274,221 @@ x,Group1,10.000,10.000,.435,.500,.678
 ])
 AT_CLEANUP
 
+AT_SETUP([NPAR TESTS CHISQUARE])
+AT_DATA([npar.sps], [dnl
+DATA LIST NOTABLE LIST /x * y * w *.
+BEGIN DATA.
+1   2  1
+2   1  3
+3.1 1  4
+3.2 2  1
+4   2  2
+5   3  1
+1   4  2
+END DATA.
+
+WEIGHT BY w.
+
+NPAR TESTS
+  CHISQUARE=x y
+  .
+
+NPAR TESTS
+  CHISQUARE=y
+  /EXPECTED=3 4 5 4
+  .
+
+NPAR TESTS
+  CHISQUARE=x y(2, 4)
+  /EXPECTED = 6 10 3
+  .
+])
+AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+Table: x
+,Observed N,Expected N,Residual
+1.00,3.00,2.33,.67
+2.00,3.00,2.33,.67
+3.10,4.00,2.33,1.67
+3.20,1.00,2.33,-1.33
+4.00,2.00,2.33,-.33
+5.00,1.00,2.33,-1.33
+Total,14.00,,
+
+Table: y
+,Observed N,Expected N,Residual
+1.00,7.00,3.50,3.50
+2.00,4.00,3.50,.50
+3.00,1.00,3.50,-2.50
+4.00,2.00,3.50,-1.50
+Total,14.00,,
+
+Table: Test Statistics
+,x,y
+Chi-Square,3.14,6.00
+df,5,3
+Asymp. Sig.,.68,.11
+
+Table: y
+,Observed N,Expected N,Residual
+1.00,7.00,2.63,4.38
+2.00,4.00,3.50,.50
+3.00,1.00,4.38,-3.38
+4.00,2.00,3.50,-1.50
+Total,14.00,,
+
+Table: Test Statistics
+,y
+Chi-Square,10.61
+df,3
+Asymp. Sig.,.01
+
+Table: Frequencies
+,x,,,,y,,,
+,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
+1,2.00,3.00,3.16,-.16,2.00,4.00,2.21,1.79
+2,3.00,5.00,5.26,-.26,3.00,1.00,3.68,-2.68
+3,4.00,2.00,1.58,.42,4.00,2.00,1.11,.89
+Total,,10.00,,,,7.00,,
+
+Table: Test Statistics
+,x,y
+Chi-Square,.13,4.13
+df,2,2
+Asymp. Sig.,.94,.13
+])
+AT_CLEANUP
+
+AT_SETUP([NPAR TESTS CHISQUARE expected values missing])
+AT_DATA([npar.sps], [dnl
+DATA LIST NOTABLE LIST /x * y * w *.
+BEGIN DATA.
+1   2  1
+2   1  3
+3.1 1  4
+3.2 2  1
+4   2  2
+5   3  1
+1   4  2
+END DATA.
+
+WEIGHT BY w.
+
+NPAR TESTS
+  CHISQUARE=y
+  /EXPECTED = 3 4 5 4 3 1
+  .
+])
+AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl
+"error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y."
+
+Table: Test Statistics
+,y
+Chi-Square,.00
+df,0
+Asymp. Sig.,1.00
+])
+AT_CLEANUP
+
+AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES])
+AT_DATA([npar.sps], [dnl
+DATA LIST NOTABLE LIST /x * y * w * .
+BEGIN DATA.
+1   2  1 
+2   1  3
+3.1 1  4
+3.2 2  1
+4   2  2
+5   3  1
+1   4  2
+.   5  1
+END DATA.
+
+WEIGHT BY w.
+
+MISSING VALUES x (4).
+
+NPAR TESTS
+  CHISQUARE=x y(-2,5)
+  /MISSING=ANALYSIS
+  /STATISTICS=DESCRIPTIVES
+  .
+])
+AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+Table: Frequencies
+,x,,,,y,,,
+,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
+1,-2.00,.00,1.50,-1.50,-2.00,.00,1.88,-1.88
+2,-1.00,.00,1.50,-1.50,-1.00,.00,1.88,-1.88
+3,.00,.00,1.50,-1.50,.00,.00,1.88,-1.88
+4,1.00,3.00,1.50,1.50,1.00,7.00,1.88,5.13
+5,2.00,3.00,1.50,1.50,2.00,4.00,1.88,2.13
+6,3.00,5.00,1.50,3.50,3.00,1.00,1.88,-.88
+7,4.00,.00,1.50,-1.50,4.00,2.00,1.88,.13
+8,5.00,1.00,1.50,-.50,5.00,1.00,1.88,-.88
+Total,,12.00,,,,15.00,,
+
+Table: Test Statistics
+,x,y
+Chi-Square,17.33,22.87
+df,7,7
+Asymp. Sig.,.02,.00
+
+Table: Descriptive Statistics
+,N,Mean,Std. Deviation,Minimum,Maximum
+,,,,,
+x,12.00,2.47,1.19,1.00,5.00
+y,15.00,2.07,1.33,1.00,5.00
+])
+AT_CLEANUP
+
+AT_SETUP([NPAR TESTS CHISQUARE, listwise missing])
+AT_DATA([npar.sps], [dnl
+DATA LIST NOTABLE LIST /x * y * w * .
+BEGIN DATA.
+1   2  1 
+2   1  3
+3.1 1  4
+3.2 2  1
+4   2  2
+5   3  1
+1   4  2
+.   5  1
+END DATA.
+
+WEIGHT BY w.
+
+* MISSING VALUES x (4).
+
+NPAR TESTS
+  CHISQUARE=x y(-2,5)
+  /MISSING=LISTWISE
+  /STATISTICS=DESCRIPTIVES
+  .
+])
+AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+Table: Frequencies
+,x,,,,y,,,
+,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
+1,-2.00,.00,1.75,-1.75,-2.00,.00,1.75,-1.75
+2,-1.00,.00,1.75,-1.75,-1.00,.00,1.75,-1.75
+3,.00,.00,1.75,-1.75,.00,.00,1.75,-1.75
+4,1.00,3.00,1.75,1.25,1.00,7.00,1.75,5.25
+5,2.00,3.00,1.75,1.25,2.00,4.00,1.75,2.25
+6,3.00,5.00,1.75,3.25,3.00,1.00,1.75,-.75
+7,4.00,2.00,1.75,.25,4.00,2.00,1.75,.25
+8,5.00,1.00,1.75,-.75,5.00,.00,1.75,-1.75
+Total,,14.00,,,,14.00,,
+
+Table: Test Statistics
+,x,y
+Chi-Square,13.43,26.00
+df,7,7
+Asymp. Sig.,.06,.00
+
+Table: Descriptive Statistics
+,N,Mean,Std. Deviation,Minimum,Maximum
+,,,,,
+x,14.00,2.69,1.23,1.00,5.00
+y,14.00,1.86,1.10,1.00,4.00
+])
+AT_CLEANUP