Automatically infer variables' measurement level from format and data.
[pspp] / tests / language / dictionary / value-labels.at
index 4c9f43976d52b69a70e9f3db7d5f280dfb8584e9..c09b8ef080ba11e7acbbd9eb8c24586794be419d 100644 (file)
@@ -1,3 +1,19 @@
+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([VALUE LABELS])
 
 AT_SETUP([VALUE LABELS date formats])
@@ -10,19 +26,17 @@ VALUE LABELS ad 'july 10, 1982' 'label 1'
 DISPLAY DICTIONARY.
 ])
 AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
-Variable,Description,,Position
-ad,Format: ADATE10,,1
-,Measure: Scale,,
-,Display Alignment: Right,,
-,Display Width: 8,,
-,07/10/1982,label 1,
-,01/02/1993,label 2,
-,05/04/2003,label 3,
-dt,Format: DATETIME20.0,,2
-,Measure: Scale,,
-,Display Alignment: Right,,
-,Display Width: 8,,
-,12-APR-2011 06:09:56,label 4,
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+ad,1,Unknown,Input,8,Right,ADATE10,ADATE10
+dt,2,Unknown,Input,8,Right,DATETIME20.0,DATETIME20.0
+
+Table: Value Labels
+Variable Value,,Label
+ad,07/10/1982,label 1
+,01/02/1993,label 2
+,05/04/2003,label 3
+dt,12-APR-2011 06:09:56,label 4
 ])
 AT_CLEANUP
 
@@ -38,23 +52,25 @@ END DATA.
 DISPLAY DICTIONARY.
 FREQUENCIES x/STAT=NONE.
 ])
-AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
-Variable,Description,,Position
-x,Format: F8.2,,1
-,Measure: Scale,,
-,Display Alignment: Right,,
-,Display Width: 8,,
-,1.00,one,
-,2.00,first line\nsecond line,
-,3.00,three,
+AT_CHECK([pspp -o pspp.csv -o pspp.txt value-labels.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+x,1,Nominal,Input,8,Right,F8.2,F8.2
+
+Table: Value Labels
+Variable Value,,Label
+x,1.00,one
+,2.00,first line\nsecond line
+,3.00,three
 
 Table: x
-Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
-one,1.00,1,33.33,33.33,33.33
-"first line
-second line",2.00,1,33.33,33.33,66.67
-three,3.00,1,33.33,33.33,100.00
-Total,,3,100.0,100.0,
+,,Frequency,Percent,Valid Percent,Cumulative Percent
+Valid,one,1,33.3%,33.3%,33.3%
+,"first line
+second line",1,33.3%,33.3%,66.7%
+,three,1,33.3%,33.3%,100.0%
+Total,,3,100.0%,,
 ])
 AT_CLEANUP
 
@@ -75,36 +91,38 @@ GET FILE='value-labels.sav'.
 DISPLAY DICTIONARY.
 FREQUENCIES x/STAT=NONE.
 ])
-AT_CHECK([pspp -O format=csv get.sps], [0], [dnl
-Variable,Description,,Position
-x,Format: F8.2,,1
-,Measure: Scale,,
-,Display Alignment: Right,,
-,Display Width: 8,,
-,1.00,one,
-,2.00,first line\nsecond line,
-,3.00,three,
+AT_CHECK([pspp -o pspp.csv -o pspp.txt get.sps])
+AT_CHECK([cat pspp.csv], [0], [dnl
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+x,1,Nominal,Input,8,Right,F8.2,F8.2
+
+Table: Value Labels
+Variable Value,,Label
+x,1.00,one
+,2.00,first line\nsecond line
+,3.00,three
 
 Table: x
-Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
-one,1.00,1,33.33,33.33,33.33
-"first line
-second line",2.00,1,33.33,33.33,66.67
-three,3.00,1,33.33,33.33,100.00
-Total,,3,100.0,100.0,
+,,Frequency,Percent,Valid Percent,Cumulative Percent
+Valid,one,1,33.3%,33.3%,33.3%
+,"first line
+second line",1,33.3%,33.3%,66.7%
+,three,1,33.3%,33.3%,100.0%
+Total,,3,100.0%,,
 ])
 AT_CLEANUP
 
-dnl Tests for a bug which caused VALUE LABELS to 
+dnl Tests for a bug which caused VALUE LABELS to
 dnl crash when given invalid syntax.
 AT_SETUP([VALUE LABELS invalid syntax bug])
 AT_DATA([value-labels.sps], [dnl
 DATA LIST LIST NOTABLE /a * pref * .
 BEGIN DATA.
-    1.00     1.00    
-    1.00     2.00    
-    2.00     1.00    
-    2.00     2.00    
+    1.00     1.00
+    1.00     2.00
+    2.00     1.00
+    2.00     2.00
 END DATA.
 
 VALUE LABELS /var=a 'label for a'.
@@ -119,7 +137,7 @@ AT_SETUP([VALUE LABELS trailing `/' bug])
 AT_DATA([value-labels.sps], [dnl
 DATA LIST LIST NOTABLE /X * .
 BEGIN DATA.
-1 
+1
 2
 3
 4