Automatically infer variables' measurement level from format and data.
[pspp] / tests / language / dictionary / sys-file-info.at
index e822506b33dc743b6f11a1b134cd930f3c1184e2..4f53b4e0ff64d628be2be084da6a5b47f0c9c673 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([SYSFILE INFO])
 
 AT_SETUP([SYSFILE INFO])
@@ -8,42 +24,39 @@ BEGIN DATA
 2 two
 3 three
 END DATA.
+DOCUMENT A document.
 SAVE OUTFILE='pro.sav'.
 
 sysfile info file='pro.sav'.
 ])
 AT_CHECK([pspp -o pspp.csv sysfile-info.sps])
 AT_CHECK(
-  [sed -e '/^Created:,/d' \
-       -e '/^Endian:,/d' \
-       -e '/^Integer Format:,/d' \
-       -e '/^Real Format:,/d' \
-       -e '/^Encoding:,/d' pspp.csv],
+  [sed -e '/^Created,/d' \
+       -e '/^Endian,/d' \
+       -e '/^Integer Format,/d' \
+       -e '/^Real Format,/d' \
+       -e '/^Encoding,/d' \
+       -e 's/(Entered.*)/(Entered <date>)/' pspp.csv],
   [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
 name,A10
 
-File:,pro.sav
-Label:,No label.
-Variables:,2
-Cases:,3
-Type:,SPSS System File
-Weight:,Not weighted.
-Compression:,SAV
-
-Variable,Description,Position
-x,"Format: F8.2
-Measure: Scale
-Role: Input
-Display Alignment: Right
-Display Width: 8",1
-name,"Format: A10
-Measure: Nominal
-Role: Input
-Display Alignment: Left
-Display Width: 10",2
+Table: File Information
+File,pro.sav
+Variables,2
+Cases,3
+Type,SPSS System File
+Weight,Not weighted
+Compression,SAV
+Documents,"DOCUMENT A document.
+   (Entered <date>)"
+
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+x,1,Nominal,Input,8,Right,F8.2,F8.2
+name,2,Nominal,Input,10,Left,A10,A10
 ])
 AT_CLEANUP
 
@@ -61,9 +74,11 @@ FILE LABEL 'foo bar baz quux'.
 DISPLAY FILE LABEL.
 ])
 AT_CHECK([pspp -O format=csv display.sps], [0], [dnl
-The active dataset does not have a file label.
+Table: File Label
+Label,(none)
 
-File label: foo bar baz quux
+Table: File Label
+Label,foo bar baz quux
 ])
 AT_CLEANUP
 
@@ -81,7 +96,8 @@ DISPLAY SCRATCH.
 AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
 sysfile-info.sps:2: warning: DISPLAY: No variables to display.
 
-Variable
+Table: Variables
+Name
 #x
 ])
 AT_CLEANUP
@@ -92,7 +108,8 @@ DATA LIST LIST NOTABLE /x * name (a10) .
 DISPLAY INDEX.
 ])
 AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
-Variable,Position
+Table: Variables
+Name,Position
 x,1
 name,2
 ])
@@ -104,7 +121,8 @@ DATA LIST LIST NOTABLE /x * name (a10) .
 DISPLAY NAMES.
 ])
 AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
-Variable
+Table: Variables
+Name
 x
 name
 ])
@@ -118,9 +136,10 @@ VALUE LABEL x 1 'asdf' 2 'jkl;'.
 DISPLAY LABELS.
 ])
 AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
-Variable,Label,Position
-x,variable one,1
-name,variable two,2
+Table: Variables
+Name,Position,Label
+x,1,variable one
+name,2,variable two
 ])
 AT_CLEANUP