Only taint casereader if case size is unknown.
[pspp] / 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      cd /
24      rm -rf $TEMPDIR
25 }
26
27
28 fail()
29 {
30     echo $activity
31     echo FAILED
32     cleanup;
33     exit 1;
34 }
35
36
37 no_result()
38 {
39     echo $activity
40     echo NO RESULT;
41     cleanup;
42     exit 2;
43 }
44
45 pass()
46 {
47     cleanup;
48     exit 0;
49 }
50
51 mkdir -p $TEMPDIR
52
53 cd $TEMPDIR
54
55 activity="create program"
56 cat > $TESTFILE <<EOF
57 data list list /ID * INDEP * DEP1 * DEP2 *.
58 begin data.
59 1  1.1 1 3
60 2  1.1 2 4
61 3  1.1 2 4 
62 4  1.1 2 4 
63 5  1.1 3 5
64 6  2.1 3 1
65 7  2.1 4 2
66 8  2.1 4 2
67 9  2.1 4 2
68 10 2.1 5 3
69 11 3.1 2 2
70 end data.
71
72 * Note that this last case should be IGNORED since it doesn't have a dependent variable of either 1 or 2
73
74 t-test /GROUPS=indep(1.1,2.1) /var=dep1 dep2.
75 EOF
76 if [ $? -ne 0 ] ; then no_result ; fi
77
78
79 activity="run program"
80 $SUPERVISOR $PSPP -o raw-ascii $TESTFILE
81 if [ $? -ne 0 ] ; then no_result ; fi
82
83 activity="compare output"
84 perl -pi -e s/^\s*\$//g $TEMPDIR/pspp.list
85 diff  -b $TEMPDIR/pspp.list - <<EOF | perl -e 's/^\s*$//g'
86 1.1 DATA LIST.  Reading free-form data from INLINE.
87 +--------+------+
88 |Variable|Format|
89 #========#======#
90 |ID      |F8.0  |
91 |INDEP   |F8.0  |
92 |DEP1    |F8.0  |
93 |DEP2    |F8.0  |
94 +--------+------+
95
96 2.1 T-TEST.  Group Statistics
97 #==========#=#====#==============#========#
98 #     INDEP|N|Mean|Std. Deviation|SE. Mean#
99 #==========#=#====#==============#========#
100 #DEP1 1.1  |5|2.00|          .707|    .316#
101 #     2.1  |5|4.00|          .707|    .316#
102 #DEP2 1.1  |5|4.00|          .707|    .316#
103 #     2.1  |5|2.00|          .707|    .316#
104 #==========#=#====#==============#========#
105
106 2.2 T-TEST.  Independent Samples Test
107 #===============================#==========#===============================================================================#
108 #                               # Levene's |                          t-test for Equality of Means                         #
109 #                               #----+-----+------+-----+---------------+---------------+---------------------+------------#
110 #                               #    |     |      |     |               |               |                     |    95%     #
111 #                               #    |     |      |     |               |               |                     +------+-----#
112 #                               # F  | Sig.|   t  |  df |Sig. (2-tailed)|Mean Difference|Std. Error Difference| Lower|Upper#
113 #===============================#====#=====#======#=====#===============#===============#=====================#======#=====#
114 #DEP1Equal variances assumed    #.000|1.000|-4.472|    8|           .002|         -2.000|                 .447|-3.031|-.969#
115 #    Equal variances not assumed#    |     |-4.472|8.000|           .002|         -2.000|                 .447|-3.031|-.969#
116 #DEP2Equal variances assumed    #.000|1.000| 4.472|    8|           .002|          2.000|                 .447|  .969|3.031#
117 #    Equal variances not assumed#    |     | 4.472|8.000|           .002|          2.000|                 .447|  .969|3.031#
118 #===============================#====#=====#======#=====#===============#===============#=====================#======#=====#
119 EOF
120 if [ $? -ne 0 ] ; then fail ; fi
121
122
123 pass