Clean up output subsystem.
[pspp-builds.git] / tests / command / examine.sh
1 #!/bin/sh
2
3 # This program tests  the EXAMINE command.
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 /QUALITY * W * BRAND * .
58 BEGIN DATA
59 3  1  1
60 2  2  1
61 1  2  1
62 1  1  1
63 4  1  1
64 4  1  1
65 5  1  2
66 2  1  2
67 4  4  2
68 2  1  2
69 3  1  2
70 7  1  3
71 4  2  3
72 5  3  3
73 3  1  3
74 6  1  3
75 END DATA
76
77 WEIGHT BY w.
78
79 VARIABLE LABELS brand   'Manufacturer'.
80 VARIABLE LABELS quality 'Breaking Strain'.
81
82 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
83
84 LIST /FORMAT=NUMBERED.
85
86 EXAMINE
87         quality BY brand
88         /STATISTICS descriptives extreme(3)
89         .
90 EOF
91 if [ $? -ne 0 ] ; then no_result ; fi
92
93
94 activity="run program"
95 $SUPERVISOR $PSPP -o raw-ascii $TESTFILE
96 if [ $? -ne 0 ] ; then no_result ; fi
97
98 # NOTE:  In the following data: Only the extreme values have been checked
99 # The descriptives have been blindly pasted.
100 activity="compare results"
101 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
102 diff -b  $TEMPDIR/pspp.list - << EOF
103 1.1 DATA LIST.  Reading free-form data from INLINE.
104 +--------+------+
105 |Variable|Format|
106 #========#======#
107 |QUALITY |F8.0  |
108 |W       |F8.0  |
109 |BRAND   |F8.0  |
110 +--------+------+
111 Case#  QUALITY        W    BRAND
112 ----- -------- -------- --------
113     1     3.00     1.00     1.00
114     2     2.00     2.00     1.00
115     3     1.00     2.00     1.00
116     4     1.00     1.00     1.00
117     5     4.00     1.00     1.00
118     6     4.00     1.00     1.00
119     7     5.00     1.00     2.00
120     8     2.00     1.00     2.00
121     9     4.00     4.00     2.00
122    10     2.00     1.00     2.00
123    11     3.00     1.00     2.00
124    12     7.00     1.00     3.00
125    13     4.00     2.00     3.00
126    14     5.00     3.00     3.00
127    15     3.00     1.00     3.00
128    16     6.00     1.00     3.00
129 2.1 EXAMINE.  Case Processing Summary
130 #===============#===============================#
131 #               #             Cases             #
132 #               #----------+---------+----------#
133 #               #   Valid  | Missing |   Total  #
134 #               #--+-------+-+-------+--+-------#
135 #               # N|Percent|N|Percent| N|Percent#
136 #===============#==#=======#=#=======#==#=======#
137 #Breaking Strain#24|   100%|0|     0%|24|   100%#
138 #===============#==#=======#=#=======#==#=======#
139 2.2 EXAMINE.  Extreme Values
140 #=========================#===========#=====#
141 #                         #Case Number|Value#
142 #=========================#===========#=====#
143 #Breaking Strain Highest 1#         12| 7.00#
144 #                        2#         16| 6.00#
145 #                        3#         14| 5.00#
146 #               ----------#-----------+-----#
147 #                 Lowest 1#          4| 1.00#
148 #                        2#          3| 1.00#
149 #                        3#          3| 1.00#
150 #=========================#===========#=====#
151 2.3 EXAMINE.  Descriptives
152 #============================================================#=========#==========#
153 #                                                            #Statistic|Std. Error#
154 #============================================================#=========#==========#
155 #Breaking Strain Mean                                        #   3.54  |   .324   #
156 #                95% Confidence Interval for Mean Lower Bound#  3.562  |          #
157 #                                                 Upper Bound#  3.521  |          #
158 #                5% Trimmed Mean                             #   3.50  |          #
159 #                Median                                      #   4.00  |          #
160 #                Variance                                    #  2.520  |          #
161 #                Std. Deviation                              #  1.587  |          #
162 #                Minimum                                     #  1.000  |          #
163 #                Maximum                                     #  7.000  |          #
164 #                Range                                       #  6.000  |          #
165 #                Interquartile Range                         #   2.75  |          #
166 #                Skewness                                    #   .059  |   .472   #
167 #                Kurtosis                                    #  -.358  |   .918   #
168 #============================================================#=========#==========#
169 2.4 EXAMINE.  Case Processing Summary
170 #============================#=============================#
171 #                            #            Cases            #
172 #                            #---------+---------+---------#
173 #                            #  Valid  | Missing |  Total  #
174 #                            #-+-------+-+-------+-+-------#
175 #                Manufacturer#N|Percent|N|Percent|N|Percent#
176 #============================#=#=======#=#=======#=#=======#
177 #Breaking Strain Aspeger     #8|   100%|0|     0%|8|   100%#
178 #                Bloggs      #8|   100%|0|     0%|8|   100%#
179 #                Charlies    #8|   100%|0|     0%|8|   100%#
180 #============================#=#=======#=#=======#=#=======#
181 2.5 EXAMINE.  Extreme Values
182 #======================================#===========#=====#
183 #                Manufacturer          #Case Number|Value#
184 #======================================#===========#=====#
185 #Breaking Strain Aspeger      Highest 1#          6| 4.00#
186 #                                     2#          5| 4.00#
187 #                                     3#          1| 3.00#
188 #                            ----------#-----------+-----#
189 #                              Lowest 1#          4| 1.00#
190 #                                     2#          3| 1.00#
191 #                                     3#          3| 1.00#
192 #               -----------------------#-----------+-----#
193 #                Bloggs       Highest 1#          7| 5.00#
194 #                                     2#          9| 4.00#
195 #                                     3#          9| 4.00#
196 #                            ----------#-----------+-----#
197 #                              Lowest 1#         10| 2.00#
198 #                                     2#          8| 2.00#
199 #                                     3#         11| 3.00#
200 #               -----------------------#-----------+-----#
201 #                Charlies     Highest 1#         12| 7.00#
202 #                                     2#         16| 6.00#
203 #                                     3#         14| 5.00#
204 #                            ----------#-----------+-----#
205 #                              Lowest 1#         15| 3.00#
206 #                                     2#         13| 4.00#
207 #                                     3#         13| 4.00#
208 #======================================#===========#=====#
209 2.6 EXAMINE.  Descriptives
210 #=========================================================================#=========#==========#
211 #                Manufacturer                                            #Statistic|Std. Error#
212 #=========================================================================#=========#==========#
213 #Breaking Strain Aspeger      Mean                                        #   2.25  |   .453   #
214 #                             95% Confidence Interval for Mean Lower Bound#  2.279  |          #
215 #                                                              Upper Bound#  2.221  |          #
216 #                             5% Trimmed Mean                             #   2.22  |          #
217 #                             Median                                      #   2.00  |          #
218 #                             Variance                                    #  1.643  |          #
219 #                             Std. Deviation                              #  1.282  |          #
220 #                             Minimum                                     #  1.000  |          #
221 #                             Maximum                                     #  4.000  |          #
222 #                             Range                                       #  3.000  |          #
223 #                             Interquartile Range                         #   2.75  |          #
224 #                             Skewness                                    #   .475  |   .752   #
225 #                             Kurtosis                                    #  -1.546 |   1.481  #
226 #               ----------------------------------------------------------#---------+----------#
227 #                Bloggs       Mean                                        #   3.50  |   .378   #
228 #                             95% Confidence Interval for Mean Lower Bound#  3.525  |          #
229 #                                                              Upper Bound#  3.475  |          #
230 #                             5% Trimmed Mean                             #   3.50  |          #
231 #                             Median                                      #   4.00  |          #
232 #                             Variance                                    #  1.143  |          #
233 #                             Std. Deviation                              #  1.069  |          #
234 #                             Minimum                                     #  2.000  |          #
235 #                             Maximum                                     #  5.000  |          #
236 #                             Range                                       #  3.000  |          #
237 #                             Interquartile Range                         #   1.75  |          #
238 #                             Skewness                                    #  -.468  |   .752   #
239 #                             Kurtosis                                    #  -.831  |   1.481  #
240 #               ----------------------------------------------------------#---------+----------#
241 #                Charlies     Mean                                        #   4.88  |   .441   #
242 #                             95% Confidence Interval for Mean Lower Bound#  4.904  |          #
243 #                                                              Upper Bound#  4.846  |          #
244 #                             5% Trimmed Mean                             #   4.86  |          #
245 #                             Median                                      #   5.00  |          #
246 #                             Variance                                    #  1.554  |          #
247 #                             Std. Deviation                              #  1.246  |          #
248 #                             Minimum                                     #  3.000  |          #
249 #                             Maximum                                     #  7.000  |          #
250 #                             Range                                       #  4.000  |          #
251 #                             Interquartile Range                         #   1.75  |          #
252 #                             Skewness                                    #   .304  |   .752   #
253 #                             Kurtosis                                    #   .146  |   1.481  #
254 #=========================================================================#=========#==========#
255 EOF
256 if [ $? -ne 0 ] ; then fail ; fi
257
258 pass