X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Fexamine.at;h=9d4374d376e0e96c731382a8f4bceb0121436189;hb=a1b7813a6993b8a8822914a83982a52e98c2afe5;hp=d4540ba45d0a16b10c1908906d21547b81fee259;hpb=e229a33394ba9708dd895760eabc47e9dc659c92;p=pspp diff --git a/tests/language/stats/examine.at b/tests/language/stats/examine.at index d4540ba45d..9d4374d376 100644 --- a/tests/language/stats/examine.at +++ b/tests/language/stats/examine.at @@ -1,6 +1,23 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 Free Software Foundation, Inc. +dnl +dnl This program is free software: you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([EXAMINE]) AT_SETUP([EXAMINE]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [ DATA LIST LIST /QUALITY * W * BRAND * . BEGIN DATA @@ -172,6 +189,7 @@ Breaking Strain,Aspeger,Mean,,2.25,.45 AT_CLEANUP AT_SETUP([EXAMINE -- extremes]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl data list free /V1 W begin data. @@ -233,6 +251,7 @@ AT_CLEANUP AT_SETUP([EXAMINE -- extremes with fractional weights]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([extreme.sps], [dnl set format=F20.3. data list notable list /w * x *. @@ -309,6 +328,7 @@ dnl Test the PERCENTILES subcommand of the EXAMINE command. dnl In particular test that it behaves properly when there are only dnl a few cases. AT_SETUP([EXAMINE -- percentiles]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /X *. BEGIN DATA. @@ -401,6 +421,7 @@ X,Empirical with averaging,2.00,2.00,2.00,5.00,8.00,8.00,8.00 AT_CLEANUP AT_SETUP([EXAMINE -- missing values]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /x * y *. BEGIN DATA. @@ -441,6 +462,7 @@ AT_CLEANUP AT_SETUP([EXAMINE -- user missing values]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine-m.sps], [dnl DATA LIST notable LIST /x * y *. BEGIN DATA. @@ -467,6 +489,7 @@ y,2,66.6667%,1,33.3333%,3,100% AT_CLEANUP AT_SETUP([EXAMINE -- missing values and percentiles]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /X *. BEGIN DATA. @@ -487,6 +510,7 @@ AT_CLEANUP dnl Tests the trimmed mean calculation in the case dnl where the data is weighted towards the centre. AT_SETUP([EXAMINE -- trimmed mean]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /X * C *. BEGIN DATA. @@ -534,6 +558,7 @@ X,Mean,,2.02,.03 AT_CLEANUP AT_SETUP([EXAMINE -- crash bug]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl data list list /a * x * y *. begin data. @@ -552,6 +577,7 @@ AT_CLEANUP dnl Test that two consecutive EXAMINE commands don't crash PSPP. AT_SETUP([EXAMINE -- consecutive runs don't crash]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl data list list /y * z *. begin data. @@ -570,6 +596,7 @@ AT_CLEANUP dnl Test that /DESCRIPTIVES does not crash in presence of missing values. AT_SETUP([EXAMINE -- missing values don't crash]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl data list list /x * y *. begin data. @@ -587,6 +614,7 @@ AT_CLEANUP dnl Test that having only a single case doesn't crash. AT_SETUP([EXAMINE -- single case doesn't crash]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /quality * . BEGIN DATA @@ -606,6 +634,7 @@ AT_CLEANUP dnl Test that all-missing data doesn't crash. AT_SETUP([EXAMINE -- all-missing data doesn't crash]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl DATA LIST LIST /x *. BEGIN DATA. @@ -628,6 +657,7 @@ AT_CLEANUP dnl Test that big input doesn't crash (bug 11307). AT_SETUP([EXAMINE -- big input doesn't crash]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine.sps], [dnl INPUT PROGRAM. LOOP #I=1 TO 50000. @@ -648,6 +678,7 @@ AT_CLEANUP dnl Another test that big input doesn't crash. dnl The actual bug that this checks for has been lost. AT_SETUP([EXAMINE -- big input doesn't crash 2]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([make-big-input.pl], [for ($i=0; $i<100000; $i++) { print "AB12\n" }; for ($i=0; $i<100000; $i++) { print "AB04\n" }; @@ -675,6 +706,7 @@ AT_CLEANUP dnl Test that the ID command works with non-numberic variables AT_SETUP([EXAMINE -- non-numeric ID]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine-id.sps], [dnl data list notable list /x * y (a12). @@ -727,6 +759,7 @@ AT_CLEANUP dnl Test for a crash which happened on cleanup from a bad input syntax AT_SETUP([EXAMINE -- Bad Input]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine-bad.sps], [dnl data list list /h * g *. @@ -757,7 +790,7 @@ AT_CLEANUP dnl Check the MISSING=REPORT option AT_SETUP([EXAMINE -- MISSING=REPORT]) - +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine-report.sps], [dnl set format = F22.0. @@ -885,6 +918,7 @@ dnl Run a test of the basic STATISTICS using a "real" dnl dataset and comparing with "real" results kindly dnl provided by Olaf Nöhring AT_SETUP([EXAMINE -- sample unweighted]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([sample.sps], [dnl set format = F22.4. @@ -1028,6 +1062,7 @@ AT_CLEANUP dnl Test for a crash which happened on bad input syntax AT_SETUP([EXAMINE -- Empty Parentheses]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([examine-empty-parens.sps], [dnl DATA LIST notable LIST /X * @@ -1046,3 +1081,74 @@ EXAMINE AT_CHECK([pspp -o pspp.csv examine-empty-parens.sps], [1], [ignore]) AT_CLEANUP + + + + +dnl Test for another crash which happened on bad input syntax +AT_SETUP([EXAMINE -- Bad variable]) +AT_KEYWORDS([categorical categoricals]) + +AT_DATA([examine-bad-variable.sps], [dnl +data list list /h * g *. +begin data. +3 1 +4 1 +5 2 +end data. + +EXAMINE + /VARIABLES/ h + BY g + . +]) + +AT_CHECK([pspp -o pspp.csv examine-bad-variable.sps], [1], [ignore]) + +AT_CLEANUP + + + +dnl Test for yet another crash. This time for extremes vs. missing weight values. +AT_SETUP([EXAMINE -- Extremes vs. Missing Weights]) +AT_KEYWORDS([categorical categoricals]) + +AT_DATA([examine-missing-weights.sps], [dnl +data list notable list /h * g *. +begin data. +3 1 +4 . +5 1 +2 1 +end data. + +WEIGHT BY g. + +EXAMINE h + /STATISTICS extreme(3) + . +]) + +AT_CHECK([pspp -O format=csv examine-missing-weights.sps], [0], [dnl +"examine-missing-weights.sps:13: warning: EXAMINE: At least one case in the data file had a weight value that was user-missing, system-missing, zero, or negative. These case(s) were ignored." + +Table: Case Processing Summary +,Cases,,,,, +,Valid,,Missing,,Total, +,N,Percent,N,Percent,N,Percent +h,3.00,100%,.00,0%,3.00,100% + +Table: Extreme Values +,,,Case Number,Value +h,Highest,1,3,5.00 +,,2,2,4.00 +,,3,1,3.00 +,Lowest,1,4,2.00 +,,2,1,3.00 +,,3,2,4.00 +]) + +AT_CLEANUP + + +