Made tests BSD diff compatible
[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 here=`pwd`;
9
10 # ensure that top_srcdir is absolute
11 cd $top_srcdir; top_srcdir=`pwd`
12
13 STAT_CONFIG_PATH=$top_srcdir/config
14 export STAT_CONFIG_PATH
15
16
17 cleanup()
18 {
19      cd /
20      rm -rf $TEMPDIR
21 }
22
23
24 fail()
25 {
26     echo $activity
27     echo FAILED
28     cleanup;
29     exit 1;
30 }
31
32
33 no_result()
34 {
35     echo $activity
36     echo NO RESULT;
37     cleanup;
38     exit 2;
39 }
40
41 pass()
42 {
43     cleanup;
44     exit 0;
45 }
46
47 mkdir -p $TEMPDIR
48
49 cd $TEMPDIR
50
51 activity="create program"
52 cat > $TESTFILE <<EOF
53 DATA LIST LIST /QUALITY * W * BRAND * .
54 BEGIN DATA
55 3  1  1
56 2  2  1
57 1  2  1
58 1  1  1
59 4  1  1
60 4  1  1
61 5  1  2
62 2  1  2
63 4  4  2
64 2  1  2
65 3  1  2
66 7  1  3
67 4  2  3
68 5  3  3
69 3  1  3
70 6  1  3
71 END DATA
72
73 WEIGHT BY w.
74
75 VARIABLE LABELS brand   'Manufacturer'.
76 VARIABLE LABELS quality 'Breaking Strain'.
77
78 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
79
80 LIST /FORMAT=NUMBERED.
81
82 EXAMINE
83         quality BY brand
84         /STATISTICS descriptives extreme(3)
85         .
86 EOF
87 if [ $? -ne 0 ] ; then no_result ; fi
88
89
90 activity="run program"
91 $SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
92 if [ $? -ne 0 ] ; then no_result ; fi
93
94 # NOTE:  In the following data: Only the extreme values have been checked
95 # The descriptives have been blindly pasted.
96 activity="compare results"
97 perl -pi -e s/^\s*\$//g $TEMPDIR/pspp.list
98 diff -b  $TEMPDIR/pspp.list - << EOF | perl -e 's/^\s*$//g'
99 1.1 DATA LIST.  Reading free-form data from the command file.
100 +--------+------+
101 |Variable|Format|
102 #========#======#
103 |QUALITY |F8.0  |
104 |W       |F8.0  |
105 |BRAND   |F8.0  |
106 +--------+------+
107
108 Case#  QUALITY        W    BRAND
109 ----- -------- -------- --------
110     1     3.00     1.00     1.00 
111     2     2.00     2.00     1.00 
112     3     1.00     2.00     1.00 
113     4     1.00     1.00     1.00 
114     5     4.00     1.00     1.00 
115     6     4.00     1.00     1.00 
116     7     5.00     1.00     2.00 
117     8     2.00     1.00     2.00 
118     9     4.00     4.00     2.00 
119    10     2.00     1.00     2.00 
120    11     3.00     1.00     2.00 
121    12     7.00     1.00     3.00 
122    13     4.00     2.00     3.00 
123    14     5.00     3.00     3.00 
124    15     3.00     1.00     3.00 
125    16     6.00     1.00     3.00 
126
127 2.1 EXAMINE.  Case Processing Summary
128 #===============#===============================#
129 #               #             Cases             #
130 #               #----------+---------+----------#
131 #               #   Valid  | Missing |   Total  #
132 #               #--+-------+-+-------+--+-------#
133 #               # N|Percent|N|Percent| N|Percent#
134 #===============#==#=======#=#=======#==#=======#
135 #Breaking Strain#24|   100%|0|     0%|24|   100%#
136 #===============#==#=======#=#=======#==#=======#
137
138 2.2 EXAMINE.  Extreme Values
139 #=======================#===========#=====#
140 #                       #Case Number|Value#
141 #=======================#===========#=====#
142 #Breaking StrainHighest1#         12| 7.00#
143 #                      2#         16| 6.00#
144 #                      3#         14| 5.00#
145 #               --------#-----------+-----#
146 #                Lowest1#          4| 1.00#
147 #                      2#          3| 1.00#
148 #                      3#          3| 1.00#
149 #=======================#===========#=====#
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
170 2.4 EXAMINE.  Case Processing Summary
171 #===========================#=============================#
172 #                           #            Cases            #
173 #                           #---------+---------+---------#
174 #                           #  Valid  | Missing |  Total  #
175 #                           #-+-------+-+-------+-+-------#
176 #               Manufacturer#N|Percent|N|Percent|N|Percent#
177 #===========================#=#=======#=#=======#=#=======#
178 #Breaking StrainAspeger     #8|   100%|0|     0%|8|   100%#
179 #               Bloggs      #8|   100%|0|     0%|8|   100%#
180 #               Charlies    #8|   100%|0|     0%|8|   100%#
181 #===========================#=#=======#=#=======#=#=======#
182
183 2.5 EXAMINE.  Extreme Values
184 #===================================#===========#=====#
185 #               Manufacturer        #Case Number|Value#
186 #===================================#===========#=====#
187 #Breaking StrainAspeger     Highest1#          6| 4.00#
188 #                                  2#          5| 4.00#
189 #                                  3#          1| 3.00#
190 #                           --------#-----------+-----#
191 #                            Lowest1#          4| 1.00#
192 #                                  2#          3| 1.00#
193 #                                  3#          3| 1.00#
194 #               --------------------#-----------+-----#
195 #               Bloggs      Highest1#          7| 5.00#
196 #                                  2#          9| 4.00#
197 #                                  3#          9| 4.00#
198 #                           --------#-----------+-----#
199 #                            Lowest1#         10| 2.00#
200 #                                  2#          8| 2.00#
201 #                                  3#         11| 3.00#
202 #               --------------------#-----------+-----#
203 #               Charlies    Highest1#         12| 7.00#
204 #                                  2#         16| 6.00#
205 #                                  3#         14| 5.00#
206 #                           --------#-----------+-----#
207 #                            Lowest1#         15| 3.00#
208 #                                  2#         13| 4.00#
209 #                                  3#         13| 4.00#
210 #===================================#===========#=====#
211
212 2.6 EXAMINE.  Descriptives
213 #======================================================================#=========#==========#
214 #               Manufacturer                                           #Statistic|Std. Error#
215 #======================================================================#=========#==========#
216 #Breaking StrainAspeger     Mean                                       #   2.25  |   .453   #
217 #                           95% Confidence Interval for MeanLower Bound#  2.279  |          #
218 #                                                           Upper Bound#  2.221  |          #
219 #                           5% Trimmed Mean                            #   2.22  |          #
220 #                           Median                                     #   2.00  |          #
221 #                           Variance                                   #  1.643  |          #
222 #                           Std. Deviation                             #  1.282  |          #
223 #                           Minimum                                    #  1.000  |          #
224 #                           Maximum                                    #  4.000  |          #
225 #                           Range                                      #  3.000  |          #
226 #                           Interquartile Range                        #   2.75  |          #
227 #                           Skewness                                   #   .475  |   .752   #
228 #                           Kurtosis                                   #  -1.546 |   1.481  #
229 #               -------------------------------------------------------#---------+----------#
230 #               Bloggs      Mean                                       #   3.50  |   .378   #
231 #                           95% Confidence Interval for MeanLower Bound#  3.525  |          #
232 #                                                           Upper Bound#  3.475  |          #
233 #                           5% Trimmed Mean                            #   3.50  |          #
234 #                           Median                                     #   4.00  |          #
235 #                           Variance                                   #  1.143  |          #
236 #                           Std. Deviation                             #  1.069  |          #
237 #                           Minimum                                    #  2.000  |          #
238 #                           Maximum                                    #  5.000  |          #
239 #                           Range                                      #  3.000  |          #
240 #                           Interquartile Range                        #   1.75  |          #
241 #                           Skewness                                   #  -.468  |   .752   #
242 #                           Kurtosis                                   #  -.831  |   1.481  #
243 #               -------------------------------------------------------#---------+----------#
244 #               Charlies    Mean                                       #   4.88  |   .441   #
245 #                           95% Confidence Interval for MeanLower Bound#  4.904  |          #
246 #                                                           Upper Bound#  4.846  |          #
247 #                           5% Trimmed Mean                            #   4.86  |          #
248 #                           Median                                     #   5.00  |          #
249 #                           Variance                                   #  1.554  |          #
250 #                           Std. Deviation                             #  1.246  |          #
251 #                           Minimum                                    #  3.000  |          #
252 #                           Maximum                                    #  7.000  |          #
253 #                           Range                                      #  4.000  |          #
254 #                           Interquartile Range                        #   1.75  |          #
255 #                           Skewness                                   #   .304  |   .752   #
256 #                           Kurtosis                                   #   .146  |   1.481  #
257 #======================================================================#=========#==========#
258
259 EOF
260 if [ $? -ne 0 ] ; then fail ; fi
261
262 pass