Automatically infer variables' measurement level from format and data.
[pspp] / tests / language / stats / rank.at
index 589375b67bee32ff09ad2225d25c9d89c0c80101..bd3f8becb478495b37e66574fe2db0db7f2d10c7 100644 (file)
@@ -1,16 +1,16 @@
 dnl PSPP - a program for statistical analysis.
 dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl 
+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
 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
 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
@@ -21,12 +21,12 @@ AT_DATA([rank.sps], [dnl
 DATA LIST LIST NOTABLE /x (f8).
 BEGIN DATA.
 -1
-0 
-1 
-2 
-2 
-4 
-5 
+0
+1
+2
+2
+4
+5
 END DATA.
 
 RANK x.
@@ -35,11 +35,9 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-x into Rx(RANK of x)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,Rx,RANK
 
 Table: Data List
 x,Rx
@@ -70,15 +68,11 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-x into Rx(RANK of x)
-
-y into Ry(RANK of y)
-
-z into Rz(RANK of z)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,Rx,RANK
+y,Ry,RANK
+z,Rz,RANK
 
 Table: Data List
 x,y,z,Rx,Ry,Rz
@@ -104,7 +98,7 @@ BEGIN DATA.
 END DATA.
 
 RANK a b (D)
-   /PRINT=YES 
+   /PRINT=YES
    /RANK
    /TIES=HIGH
    /RFRACTION
@@ -117,37 +111,25 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-a into Ra(RANK of a)
-
-b into Rb(RANK of b)
-
-a into RFR001(RFRACTION of a)
-
-b into RFR002(RFRACTION of b)
-
-a into count(N of a)
-
-b into Nb(N of b)
-
-Variable,Description,Position
-a,Format: F8.2,1
-b,Format: F8.2,2
-Ra,"Label: RANK of a
-Format: F9.3",3
-RFR001,"Label: RFRACTION of a
-Format: F6.4",4
-count,"Label: N of a
-Format: F6.0",5
-Rb,"Label: RANK of b
-Format: F9.3",6
-RFR002,"Label: RFRACTION of b
-Format: F6.4",7
-Nb,"Label: N of b
-Format: F6.0",8
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+a,Ra,RANK
+b,Rb,RANK
+a,RFR001,RFRACTION
+b,RFR002,RFRACTION
+a,count,N
+b,Nb,N
+
+Table: Variables
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+a,1,,Nominal,Input,8,Right,F8.2,F8.2
+b,2,,Nominal,Input,8,Right,F8.2,F8.2
+Ra,3,RANK of a,Ordinal,Input,8,Right,F9.3,F9.3
+RFR001,4,RFRACTION of a,Ordinal,Input,8,Right,F6.4,F6.4
+count,5,N of a,Scale,Input,8,Right,F6.0,F6.0
+Rb,6,RANK of b,Ordinal,Input,8,Right,F9.3,F9.3
+RFR002,7,RFRACTION of b,Ordinal,Input,8,Right,F6.4,F6.4
+Nb,8,N of b,Scale,Input,8,Right,F6.0,F6.0
 
 Table: Data List
 a,b,Ra,RFR001,count,Rb,RFR002,Nb
@@ -176,7 +158,7 @@ BEGIN DATA.
 5 29
 6 1
 7 43
-8 8 
+8 8
 9 45
 END DATA.
 
@@ -194,19 +176,13 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-a into Sa(SAVAGE of a)
-
-a into Pa(PERCENT of a)
-
-a into PRO001(PROPORTION of a using BLOM)
-
-a into Na(NTILES of a)
-
-a into NOR001(NORMAL of a using BLOM)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function,Fraction
+a,Sa,SAVAGE,
+a,Pa,PERCENT,
+a,PRO001,PROPORTION,BLOM
+a,Na,NTILES,
+a,NOR001,NORMAL,BLOM
 
 Table: Data List
 a,b,Sa,Pa,PRO001,Na,NOR001
@@ -273,21 +249,15 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-a into Ra(RANK of a BY g2 g1)
-
-a into Na(NORMAL of a using RANKIT BY g2 g1)
-
-Variables Created By RANK
-
-
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function,Fraction,Grouping Variables
+a,Ra,RANK,,g2 g1
+a,Na,NORMAL,RANKIT,g2 g1
 
-a into RAN001(RANK of a BY g2)
-
-a into NOR001(NORMAL of a using RANKIT BY g2)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function,Fraction,Grouping Variables
+a,RAN001,RANK,,g2
+a,NOR001,NORMAL,RANKIT,g2
 
 Table: Data List
 a,g1,g2,Ra,Na,RAN001,NOR001
@@ -313,7 +283,7 @@ a,g1,g2,Ra,Na,RAN001,NOR001
 AT_CLEANUP
 
 # Also tests small ranks for special case of SAVAGE ranks.
-AT_SETUP([RANK with fractional ranks]) 
+AT_SETUP([RANK with fractional ranks])
 AT_DATA([rank.sps], [dnl
 DATA LIST LIST NOTABLE  /a *  w * .
 BEGIN DATA.
@@ -329,7 +299,7 @@ END DATA.
 
 WEIGHT BY w.
 
-RANK a 
+RANK a
   /FRACTION=TUKEY
   /PROPORTION
   /SAVAGE
@@ -339,13 +309,10 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-a into Pa(PROPORTION of a using TUKEY)
-
-a into Sa(SAVAGE of a)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function,Fraction
+a,Pa,PROPORTION,TUKEY
+a,Sa,SAVAGE,
 
 Table: Data List
 a,w,Pa,Sa
@@ -400,29 +367,21 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-x into xl(RANK of x)
-
-Variables Created By RANK
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,xl,RANK
 
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,xh,RANK
 
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,xc,RANK
 
-x into xh(RANK of x)
-
-Variables Created By RANK
-
-
-
-x into xc(RANK of x)
-
-Variables Created By RANK
-
-
-
-x into Nx(NORMAL of x using VW)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function,Fraction
+x,Nx,NORMAL,VW
 
 Table: Data List
 x,w,xl,xh,xc,Nx
@@ -465,17 +424,13 @@ RANK age /RANK INTO Rf.
 LIST.
 ])
 AT_CHECK([pspp -O format=csv rank.sps], [0], [dnl
-Variables Created By RANK
-
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+age,Rm,RANK
 
-
-age into Rm(RANK of age)
-
-Variables Created By RANK
-
-
-
-age into Rf(RANK of age)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+age,Rf,RANK
 
 Table: Data List
 age,gender,Rm,Rf
@@ -516,18 +471,16 @@ DISPLAY DICTIONARY.
 ])
 AT_CHECK([pspp -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variables Created By RANK
-
-
-
-foo into RAN001(RANK of foo)
-
-Variable,Description,Position
-foo,Format: F8.2,1
-rfoo,Format: F8.2,2
-ran003,Format: F8.2,3
-RAN001,"Label: RANK of foo
-Format: F9.3",4
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+foo,RAN001,RANK
+
+Table: Variables
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+foo,1,,Nominal,Input,8,Right,F8.2,F8.2
+rfoo,2,,Nominal,Input,8,Right,F8.2,F8.2
+ran003,3,,Nominal,Input,8,Right,F8.2,F8.2
+RAN001,4,RANK of foo,Ordinal,Input,8,Right,F9.3,F9.3
 ])
 AT_CLEANUP
 
@@ -565,11 +518,9 @@ AT_CHECK([pspp -O format=csv rank.sps], [0], [dnl
 
 "rank.sps:9: warning: Missing value(s) for all variables from rx onward.  These will be filled with the system-missing value or blanks, as appropriate."
 
-Variables Created By RANK
-
-
-
-x into RNKRA01(RANK of x)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,RNKRA01,RANK
 
 Table: Data List
 x,rx,RNKRA01
@@ -602,11 +553,9 @@ DEBUG XFORM FAIL.
 RANK x.
 ])
 AT_CHECK([pspp -O format=csv --testing-mode rank.sps], [1], [dnl
-Variables Created By RANK
-
-
-
-x into Rx(RANK of x)
+Table: Variables Created by RANK
+Existing Variable,New Variable,Function
+x,Rx,RANK
 
 rank.sps:14: error: RANK: DEBUG XFORM FAIL transformation executed
 ])
@@ -626,29 +575,29 @@ BEGIN DATA.
 END DATA.
 
 * invalid NTILES (no parameter)
-RANK x 
+RANK x
   /NTILES
 .
 
 * invalid NTILES (not an integer)
-RANK x 
+RANK x
   /NTILES(d)
 .
 
 
 * destination variable already exists
-RANK x 
+RANK x
  /RANK INTO x.
 
 
 * Too many variables in INTO
-RANK x 
+RANK x
  /RANK INTO foo  bar wiz.
 ])
 AT_CHECK([pspp -O format=csv rank.sps], [1], [dnl
 rank.sps:15.1: error: RANK: Syntax error at end of command: expecting `@{:@'.
 
-rank.sps:19.11: error: RANK: Syntax error at `d': expecting integer.
+rank.sps:19.11: error: RANK: Syntax error at `d': Expected positive integer for NTILES.
 
 rank.sps:25: error: RANK: Variable x already exists.