Rewrite PSPP output engine.
[pspp-builds.git] / tests / command / oneway-with-splits.sh
1 #!/bin/sh
2
3 # This program tests that the ONEWAY anova command works OK
4 # when SPLIT FILE is active
5
6 TEMPDIR=/tmp/pspp-tst-$$
7 TESTFILE=$TEMPDIR/`basename $0`.sps
8
9 # ensure that top_builddir  are absolute
10 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
11 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
12 top_builddir=`cd $top_builddir; pwd`
13 PSPP=$top_builddir/src/ui/terminal/pspp
14
15 # ensure that top_srcdir is absolute
16 top_srcdir=`cd $top_srcdir; pwd`
17
18 STAT_CONFIG_PATH=$top_srcdir/config
19 export STAT_CONFIG_PATH
20
21
22 cleanup()
23 {
24     if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
25         echo Not cleaning $TEMPDIR;
26         return ; 
27     fi
28     cd /
29     rm -rf $TEMPDIR
30 }
31
32
33 fail()
34 {
35     echo $activity
36     echo FAILED
37     cleanup;
38     exit 1;
39 }
40
41
42 no_result()
43 {
44     echo $activity
45     echo NO RESULT;
46     cleanup;
47     exit 2;
48 }
49
50 pass()
51 {
52     cleanup;
53     exit 0;
54 }
55
56 mkdir -p $TEMPDIR
57
58 cd $TEMPDIR
59
60 activity="create program"
61 cat > $TESTFILE <<EOF
62 DATA LIST LIST /QUALITY * BRAND * S *.
63 BEGIN DATA
64 3 1 1
65 2 1 1
66 1 1 1
67 1 1 1
68 4 1 1
69 5 2 1
70 2 2 1
71 4 2 2
72 2 2 2
73 3 2 2
74 7  3 2
75 4  3 2
76 5  3 2
77 3  3 2
78 6  3 2
79 END DATA
80
81 VARIABLE LABELS brand 'Manufacturer'.
82 VARIABLE LABELS quality 'Breaking Strain'.
83
84 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
85
86 SPLIT FILE by s.
87
88 ONEWAY
89         quality BY brand
90         /STATISTICS descriptives homogeneity
91         /CONTRAST =  -2 2
92         /CONTRAST = -1 1
93         .
94 EOF
95 if [ $? -ne 0 ] ; then no_result ; fi
96
97
98 activity="run program"
99 $SUPERVISOR $PSPP --testing-mode $TESTFILE
100 if [ $? -ne 0 ] ; then no_result ; fi
101
102 diff -c $TEMPDIR/pspp.csv - << EOF
103 Table: Reading free-form data from INLINE.
104 Variable,Format
105 QUALITY,F8.0
106 BRAND,F8.0
107 S,F8.0
108
109 Variable,Value,Label
110 S,1.00,
111
112 Table: Descriptives
113 ,,,,,,95% Confidence Interval for Mean,,,
114 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
115 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
116 ,Bloggs,2,3.50,2.12,1.50,-15.56,22.56,2.00,5.00
117 ,Total,7,2.57,1.51,.57,1.17,3.97,1.00,5.00
118
119 Table: Test of Homogeneity of Variances
120 ,Levene Statistic,df1,df2,Significance
121 Breaking Strain,1.09,1,5,.35
122
123 Table: ANOVA
124 ,,Sum of Squares,df,Mean Square,F,Significance
125 Breaking Strain,Between Groups,2.41,1,2.41,1.07,.35
126 ,Within Groups,11.30,5,2.26,,
127 ,Total,13.71,6,,,
128
129 Table: Contrast Coefficients
130 ,,Manufacturer,
131 ,,Aspeger,Bloggs
132 Contrast,1,-2,2
133 ,2,-1,1
134
135 Table: Contrast Tests
136 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
137 Breaking Strain,Assume equal variances,1,2.60,2.52,1.03,5,.35
138 ,,2,1.30,1.26,1.03,5,.35
139 ,Does not assume equal,1,2.60,3.22,.81,1.32,.54
140 ,,2,1.30,1.61,.81,1.32,.54
141
142 Variable,Value,Label
143 S,2.00,
144
145 Table: Descriptives
146 ,,,,,,95% Confidence Interval for Mean,,,
147 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
148 Breaking Strain,Bloggs,3,3.00,1.00,.58,.52,5.48,2.00,4.00
149 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
150 ,Total,8,4.25,1.67,.59,2.85,5.65,2.00,7.00
151
152 Table: Test of Homogeneity of Variances
153 ,Levene Statistic,df1,df2,Significance
154 Breaking Strain,.92,1,6,.37
155
156 Table: ANOVA
157 ,,Sum of Squares,df,Mean Square,F,Significance
158 Breaking Strain,Between Groups,7.50,1,7.50,3.75,.10
159 ,Within Groups,12.00,6,2.00,,
160 ,Total,19.50,7,,,
161
162 Table: Contrast Coefficients
163 ,,Manufacturer,
164 ,,Bloggs,Charlies
165 Contrast,1,-2,2
166 ,2,-1,1
167
168 Table: Contrast Tests
169 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
170 Breaking Strain,Assume equal variances,1,4.00,2.07,1.94,6,.10
171 ,,2,2.00,1.03,1.94,6,.10
172 ,Does not assume equal,1,4.00,1.83,2.19,5.88,.07
173 ,,2,2.00,.91,2.19,5.88,.07
174 EOF
175 if [ $? -ne 0 ] ; then fail ; fi
176
177 pass