-AT_BANNER([FREQUENCIES procedure])
+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 <http://www.gnu.org/licenses/>.
+dnl AT_BANNER([FREQUENCIES procedure])
AT_SETUP([FREQUENCIES string variable])
AT_DATA([frequencies.sps],
END DATA.
EXECUTE.
-FREQUENCIES /VAR = name.
+FREQUENCIES /VAR = name/ORDER=ANALYSIS.
])
AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
Table: name
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],
])
AT_CLEANUP
+# Test that the LIMIT specification works.
+AT_SETUP([FREQUENCIES with LIMIT])
+AT_DATA([frequencies.sps],
+ [data list free /v1 v2.
+begin data.
+0 1
+2 5
+4 3
+3 5
+end data.
+
+frequencies v1 v2/statistics=none/FORMAT=LIMIT(3).
+])
+AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
+Table: v2
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,1.00,1,25.00,25.00,25.00
+,3.00,1,25.00,25.00,50.00
+,5.00,2,50.00,50.00,100.00
+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.
AT_SETUP([FREQUENCIES HTML output crash])
])
AT_CLEANUP
+AT_SETUP([FREQUENCIES variance])
+AT_DATA([variance.sps], [dnl
+data list notable list /forename (A12) height.
+begin data.
+Ahmed 188
+bertram 167
+Catherine 134
+David 109
+end data.
+FREQUENCIES
+ /VARIABLES = height
+ /STATISTICS = VARIANCE.
+])
+
+AT_CHECK([pspp variance.sps -O format=csv], [0], [dnl
+Table: height
+Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
+,109.00,1,25.00,25.00,25.00
+,134.00,1,25.00,25.00,50.00
+,167.00,1,25.00,25.00,75.00
+,188.00,1,25.00,25.00,100.00
+Total,,4,100.0,100.0,
+
+Table: height
+N,Valid,4
+,Missing,0
+Variance,,1223.00
+])
+AT_CLEANUP
AT_SETUP([FREQUENCIES default statistics])
AT_DATA([median.sps], [dnl
])
AT_CLEANUP
+
+
+AT_SETUP([FREQUENCIES histogram no valid cases])
+AT_DATA([empty.sps], [dnl
+data list notable list /x w *.
+begin data.
+1 .
+2 .
+3 .
+end data.
+
+weight by w.
+
+FREQUENCIES
+ /VARIABLES = x
+ /histogram
+ .
+])
+
+AT_CHECK([pspp empty.sps -O format=csv], [0], [ignore])
+
+AT_CLEANUP
+
+AT_SETUP([FREQUENCIES percentiles + histogram bug#48128])
+AT_DATA([bug.sps], [dnl
+SET FORMAT=F8.0.
+
+INPUT PROGRAM.
+ LOOP I=1 TO 10.
+ COMPUTE SCORE=EXP(NORMAL(1)).
+ END CASE.
+ END LOOP.
+ END FILE.
+END INPUT PROGRAM.
+
+FREQUENCIES VARIABLES=SCORE
+/FORMAT=NOTABLE
+/STATISTICS=ALL
+/PERCENTILES=1 10 20 30 40 50 60 70 80 90 99
+/HISTOGRAM.
+
+])
+
+AT_CHECK([pspp bug.sps], [0], [ignore])
+
+AT_CLEANUP