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