X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=tests%2Flanguage%2Fstats%2Ffrequencies.at;h=ff54e8e9cf1b56a32c14356abadd09f02dc80405;hb=37ff86424a5aa6c4c22a0fd4d8c59d7ce28bc2bf;hp=cfd992a59d34282f08e40cd11922b5f4d96d9367;hpb=f550aee00a62fe1d8baf62d83cd7efef6cc2ee92;p=pspp diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at index cfd992a59d..ff54e8e9cf 100644 --- a/tests/language/stats/frequencies.at +++ b/tests/language/stats/frequencies.at @@ -1,21 +1,33 @@ AT_BANNER([FREQUENCIES procedure]) -AT_SETUP([FREQUENCIES string variable crash]) +AT_SETUP([FREQUENCIES string variable]) AT_DATA([frequencies.sps], [DATA LIST FREE/ name (A8) value * quantity . BEGIN DATA. -Cables 829 3 +foo 1 5 +bar 2 6 +baz 1 9 +quux 3 1 +bar 1 2 +baz 4 3 +baz 1 4 +baz 1 1 +foo 6 0 +quux 5 8 END DATA. EXECUTE. -FREQUENCIES /VAR = name. +FREQUENCIES /VAR = name/ORDER=ANALYSIS. ]) -AT_CHECK([pspp -O format=csv frequencies.sps], [0], - [Table: name +AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl +Table: name Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent -,Cables ,1,100.00,100.00,100.00 -Total,,1,100.0,100.0, +,bar ,2,20.00,20.00,20.00 +,baz ,4,40.00,40.00,60.00 +,foo ,2,20.00,20.00,80.00 +,quux ,2,20.00,20.00,100.00 +Total,,10,100.0,100.0, ]) AT_CLEANUP @@ -31,7 +43,7 @@ begin data. 3 4 end data. -frequencies v1 v2/statistics=none. +frequencies v1 v2/statistics=none/ORDER=VARIABLE. frequencies v1 v2/statistics=none. ]) AT_CHECK([pspp -O format=csv frequencies.sps], [0], @@ -70,7 +82,7 @@ Total,,4,100.0,100.0, AT_CLEANUP # Tests for a bug where PSPP would crash when a FREQUENCIES command -# was used with the HTML output driver.. +# was used with the HTML output driver. AT_SETUP([FREQUENCIES HTML output crash]) AT_DATA([frequencies.sps], [data list free /v1 v2. @@ -105,7 +117,7 @@ AT_CHECK([test -s pspp.html]) AT_CLEANUP # Tests for a bug which crashed PSPP when a piechart with too many -# segments was requested.. +# segments was requested. AT_SETUP([FREQUENCIES pie chart crash]) AT_DATA([frequencies.sps], [data list list /x * w *. @@ -130,9 +142,7 @@ frequencies /x /format=notable /statistics=none ]) # Cannot use the CSV driver for this because it does not output charts # at all. -AT_CHECK([pspp frequencies.sps], [0], - [DATA LIST - +AT_CHECK([pspp frequencies.sps], [0], [dnl Reading free-form data from INLINE. +--------+------+ |Variable|Format| @@ -140,17 +150,56 @@ Reading free-form data from INLINE. |x |F8.0 | |w |F8.0 | +--------+------+ +]) +AT_CLEANUP + +dnl Check that histogram subcommand runs wihout crashing +AT_SETUP([FREQUENCIES histogram crash]) +AT_DATA([frequencies.sps], + [data list notable list /x * w *. +begin data. +1 4 +34 10 +-9 15 +232 6 +11 4 +134 1 +9 5 +32 16 +-2 6 +2 16 +20 6 +end data. -BEGIN DATA +weight by w. -WEIGHT +frequencies /x + /format=notable + /statistics=none + /histogram=minimum(0) maximum(50) percent(5) normal. +]) +# Cannot use the CSV driver for this because it does not output charts +# at all. +AT_CHECK([pspp -O format=pdf frequencies.sps], [0], [ignore]) +AT_CLEANUP -FREQUENCIES +# Tests for a bug which crashed PSPP when the median and a histogram +# were both requested. +AT_SETUP([FREQUENCIES median with histogram crash]) +AT_DATA([frequencies.sps], [dnl +data list list notable /x. +begin data. +1 +end data. + +frequencies /x /histogram /STATISTICS=median. ]) +AT_CHECK([pspp -O format=csv frequencies.sps], [0], [ignore]) +dnl Ignore output - No crash test. AT_CLEANUP # Tests for a bug which caused FREQUENCIES following TEMPORARY to -# crash (bug #11492).. +# crash (bug #11492). AT_SETUP([FREQUENCIES crash after TEMPORARY]) AT_DATA([frequencies.sps], [DATA LIST LIST /SEX (A1) X *. @@ -419,6 +468,47 @@ Percentiles,0,1.00 ]) AT_CLEANUP +dnl Data for this test case from Fabio Bordignon . +AT_SETUP([FREQUENCIES enhanced percentiles, weighted (3)]) +AT_DATA([frequencies.sps], + [DATA LIST LIST notable /X * F *. +BEGIN DATA. +1 7 +2 16 +3 12 +4 5 +END DATA. + +WEIGHT BY f. + +FREQUENCIES + VAR=x + /PERCENTILES = 0 25 50 75 100. +]) +AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl +Table: X +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,1.00,7.00,17.50,17.50,17.50 +,2.00,16.00,40.00,40.00,57.50 +,3.00,12.00,30.00,30.00,87.50 +,4.00,5.00,12.50,12.50,100.00 +Total,,40.00,100.0,100.0, + +Table: X +N,Valid,40.00 +,Missing,.00 +Mean,,2.38 +Std Dev,,.93 +Minimum,,1.00 +Maximum,,4.00 +Percentiles,0,1.00 +,25,2.00 +,50 (Median),2.00 +,75,3.00 +,100,4.00 +]) +AT_CLEANUP + AT_SETUP([FREQUENCIES enhanced percentiles, weighted, missing values]) AT_DATA([frequencies.sps], [DATA LIST LIST notable /X * F *. @@ -438,6 +528,7 @@ FREQUENCIES VAR=x /PERCENTILES = 0 25 50 75 100. ]) + AT_CHECK([pspp -O format=csv frequencies.sps], [0], [Table: X Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent @@ -462,3 +553,166 @@ Percentiles,0,1.00 ,100,5.00 ]) AT_CLEANUP + +AT_SETUP([FREQUENCIES dichotomous histogram]) +AT_DATA([frequencies.sps], [dnl +data list notable list /d4 *. +begin data. +0 +0 +0 +1 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +2 +0 +end data. + +FREQUENCIES + /VARIABLES = d4 + /FORMAT=AVALUE TABLE + /HISTOGRAM=NORMAL + . +]) + +AT_CHECK([pspp frequencies.sps], [0], [ignore]) +AT_CLEANUP + + +AT_SETUP([FREQUENCIES median]) +AT_DATA([median.sps], [dnl +data list notable list /x *. +begin data. +1 +2 +3000000 +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS = MEDIAN + . +]) + +AT_CHECK([pspp median.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,1.00,1,33.33,33.33,33.33 +,2.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Percentiles,50 (Median),2.00 +]) +AT_CLEANUP + + + +AT_SETUP([FREQUENCIES default statistics]) +AT_DATA([median.sps], [dnl +data list notable list /x *. +begin data. +10 +20 +3000000 +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS + . + +FREQUENCIES + /VARIABLES = x + /STATISTICS = DEFAULT + . +]) + +AT_CHECK([pspp median.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,10.00,1,33.33,33.33,33.33 +,20.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Mean,,1000010.00 +Std Dev,,1732042.15 +Minimum,,10.00 +Maximum,,3000000.00 + +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,10.00,1,33.33,33.33,33.33 +,20.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Mean,,1000010.00 +Std Dev,,1732042.15 +Minimum,,10.00 +Maximum,,3000000.00 +]) +AT_CLEANUP + + + +AT_SETUP([FREQUENCIES no valid data]) +AT_DATA([empty.sps], [dnl +data list notable list /x *. +begin data. +. +. +. +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS = ALL + . +]) + +AT_CHECK([pspp empty.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,. ,3,100.00,Missing, +Total,,3,100.0,100.0, + +Table: x +N,Valid,0 +,Missing,3 +Mean,,. +S.E. Mean,,. +Mode,,. +Std Dev,,. +Variance,,. +Kurtosis,,. +S.E. Kurt,,. +Skewness,,. +S.E. Skew,,. +Range,,. +Minimum,,. +Maximum,,. +Sum,,. +Percentiles,,. +]) + +AT_CLEANUP