Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / t-test-groups.sh
1 #!/bin/sh
2
3 # This program tests that the T-TEST /GROUPS command works
4
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
7
8 # ensure that top_builddir  are absolute
9 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
10 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
11 top_builddir=`cd $top_builddir; pwd`
12 PSPP=$top_builddir/src/ui/terminal/pspp
13
14 # ensure that top_srcdir is absolute
15 top_srcdir=`cd $top_srcdir; pwd`
16
17 STAT_CONFIG_PATH=$top_srcdir/config
18 export STAT_CONFIG_PATH
19
20
21 cleanup()
22 {
23      if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
24         echo "NOT cleaning $TEMPDIR" 
25         return ; 
26      fi
27      cd /
28      rm -rf $TEMPDIR
29 }
30
31
32 fail()
33 {
34     echo $activity
35     echo FAILED
36     cleanup;
37     exit 1;
38 }
39
40
41 no_result()
42 {
43     echo $activity
44     echo NO RESULT;
45     cleanup;
46     exit 2;
47 }
48
49 pass()
50 {
51     cleanup;
52     exit 0;
53 }
54
55 mkdir -p $TEMPDIR
56
57 cd $TEMPDIR
58
59 activity="create program"
60 cat > $TESTFILE <<EOF
61 data list list /ID * INDEP * DEP1 * DEP2 *.
62 begin data.
63 1  1.1 1 3
64 2  1.1 2 4
65 3  1.1 2 4 
66 4  1.1 2 4 
67 5  1.1 3 5
68 6  2.1 3 1
69 7  2.1 4 2
70 8  2.1 4 2
71 9  2.1 4 2
72 10 2.1 5 3
73 11 3.1 2 2
74 end data.
75
76 * Note that this last case should be IGNORED since it doesn't have a dependent variable of either 1 or 2
77
78 t-test /GROUPS=indep(1.1,2.1) /var=dep1 dep2.
79 EOF
80 if [ $? -ne 0 ] ; then no_result ; fi
81
82
83 activity="run program"
84 $SUPERVISOR $PSPP --testing-mode $TESTFILE
85 if [ $? -ne 0 ] ; then no_result ; fi
86
87 activity="compare output"
88 diff -c $TEMPDIR/pspp.csv - <<EOF
89 Table: Reading free-form data from INLINE.
90 Variable,Format
91 ID,F8.0
92 INDEP,F8.0
93 DEP1,F8.0
94 DEP2,F8.0
95
96 Table: Group Statistics
97 ,INDEP,N,Mean,Std. Deviation,S.E. Mean
98 DEP1,1.1,5,2.00,.71,.32
99 ,2.1,5,4.00,.71,.32
100 DEP2,1.1,5,4.00,.71,.32
101 ,2.1,5,2.00,.71,.32
102
103 Table: Independent Samples Test
104 ,,Levene's Test for Equality of Variances,,t-test for Equality of Means,,,,,,
105 ,,,,,,,,,95% Confidence Interval of the Difference,
106 ,,F,Sig.,t,df,Sig. (2-tailed),Mean Difference,Std. Error Difference,Lower,Upper
107 DEP1,Equal variances assumed,.00,1.00,-4.47,8.00,.00,-2.00,.45,-3.03,-.97
108 ,Equal variances not assumed,,,-4.47,8.00,.00,-2.00,.45,-3.03,-.97
109 DEP2,Equal variances assumed,.00,1.00,4.47,8.00,.00,2.00,.45,.97,3.03
110 ,Equal variances not assumed,,,4.47,8.00,.00,2.00,.45,.97,3.03
111 EOF
112 if [ $? -ne 0 ] ; then fail ; fi
113
114
115 pass