95d91abf4129bbffc3c37b14d3b23be031688934
[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 StrainHighest1#         12| 7.00#
144 #                      2#         16| 6.00#
145 #                      3#         14| 5.00#
146 #               --------#-----------+-----#
147 #                Lowest1#          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 StrainMean                                       #   3.54  |   .324   #
156 #               95% Confidence Interval for MeanLower 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 StrainAspeger     #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 StrainAspeger     Highest1#          6| 4.00#
186 #                                  2#          5| 4.00#
187 #                                  3#          1| 3.00#
188 #                           --------#-----------+-----#
189 #                            Lowest1#          4| 1.00#
190 #                                  2#          3| 1.00#
191 #                                  3#          3| 1.00#
192 #               --------------------#-----------+-----#
193 #               Bloggs      Highest1#          7| 5.00#
194 #                                  2#          9| 4.00#
195 #                                  3#          9| 4.00#
196 #                           --------#-----------+-----#
197 #                            Lowest1#         10| 2.00#
198 #                                  2#          8| 2.00#
199 #                                  3#         11| 3.00#
200 #               --------------------#-----------+-----#
201 #               Charlies    Highest1#         12| 7.00#
202 #                                  2#         16| 6.00#
203 #                                  3#         14| 5.00#
204 #                           --------#-----------+-----#
205 #                            Lowest1#         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 StrainAspeger     Mean                                       #   2.25  |   .453   #
214 #                           95% Confidence Interval for MeanLower 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 MeanLower 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 MeanLower 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