X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Fexamine.at;h=9bfa9c78ed5f952eeed35076df291924ec81a2d4;hb=b3c602fb3492edf1e623d07187eb34f2e5720370;hp=e1b7a6ecaf8813cfbad5abc4811d5159634f5b42;hpb=1f75309bc1b51264e4459d3d1a82cf513f936a22;p=pspp diff --git a/tests/language/stats/examine.at b/tests/language/stats/examine.at index e1b7a6ecaf..9bfa9c78ed 100644 --- a/tests/language/stats/examine.at +++ b/tests/language/stats/examine.at @@ -377,6 +377,55 @@ AT_CHECK([pspp -o pspp.csv examine.sps]) dnl Ignore output -- this is just a no-crash check. 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_DATA([examine.sps], [dnl +DATA LIST LIST /X * C *. +BEGIN DATA. +1 1 +2 49 +3 2 +END DATA. + +WEIGHT BY c. + +EXAMINE + x + /STATISTICS=DESCRIPTIVES + . +]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Reading free-form data from INLINE. +Variable,Format +X,F8.0 +C,F8.0 + +Table: Case Processing Summary +,Cases,,,,, +,Valid,,Missing,,Total, +,N,Percent,N,Percent,N,Percent +X,52.00,100%,.00,0%,52.00,100% + +Table: Descriptives +,,,Statistic,Std. Error +X,Mean,,2.02,.03 +,95% Confidence Interval for Mean,Lower Bound,1.95, +,,Upper Bound,2.09, +,5% Trimmed Mean,,2.00, +,Median,,2.00, +,Variance,,.06, +,Std. Deviation,,.24, +,Minimum,,1.00, +,Maximum,,3.00, +,Range,,2.00, +,Interquartile Range,,.00, +,Skewness,,1.19,.33 +,Kurtosis,,15.73,.65 +]) +AT_CLEANUP + AT_SETUP([EXAMINE -- crash bug]) AT_DATA([examine.sps], [dnl data list list /a * x * y *. @@ -465,3 +514,49 @@ warning: Not creating plot because data set is empty. ]) dnl Ignore output -- this is just a no-crash check. AT_CLEANUP + +dnl Test that big input doesn't crash (bug 11307). +AT_SETUP([EXAMINE -- big input doesn't crash]) +AT_DATA([examine.sps], [dnl +INPUT PROGRAM. + LOOP #I=1 TO 50000. + COMPUTE X=NORMAL(10). + END CASE. + END LOOP. + END FILE. +END INPUT PROGRAM. + + +EXAMINE /x + /STATISTICS=DESCRIPTIVES. +]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +dnl Ignore output -- this is just a no-crash check. +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_DATA([make-big-input.pl], + [for ($i=0; $i<100000; $i++) { print "AB12\n" }; + for ($i=0; $i<100000; $i++) { print "AB04\n" }; +]) +AT_CHECK([$PERL make-big-input.pl > large.txt]) +AT_DATA([examine.sps], [dnl +DATA LIST FILE='large.txt' /S 1-2 (A) X 3 . + + +AGGREGATE OUTFILE=* /BREAK=X /A=N. + + +EXAMINE /A BY /X. +]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +dnl Ignore output -- this is just a no-crash check. +AT_DATA([more-big-input.pl], + [for ($i=0; $i<25000; $i++) { print "AB04\nAB12\n" }; +]) +AT_CHECK([$PERL more-big-input.pl >> large.txt]) +AT_CHECK([pspp -o pspp.csv examine.sps]) +dnl Ignore output -- this is just a no-crash check. +AT_CLEANUP