Automatically infer variables' measurement level from format and data.
[pspp] / tests / data / sys-file.at
index 6e49b783c4eaa29665cf24373c3c626a743f293a..7b2e2084446ff3a7f193fd654572a0c7630d5ad9 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
@@ -89,23 +89,20 @@ DISPLAY DICTIONARY.
 EOF
     AT_CHECK([pspp -o pspp.csv sysfile.sps])
     AT_CHECK([cat pspp.csv], [0], [dnl
-Variable,Description,Position
-s1,"Format: A9
-Missing Values: ""0       ""
-
-Value,Label
-abc      ,First value label
-abcdefgh ,Second value label
-abcdefghi,Third value label",1
-s2,"Format: A9
-Missing Values: ""12      ""; ""123     ""
-
-Value,Label
-0        ,Fourth value label
-01234567 ,Fifth value label
-012345678,Sixth value label",2
-s3,"Format: A9
-Missing Values: ""1234    ""; ""12345   ""; ""12345678""",3
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
+s1,1,Nominal,Input,9,Left,A9,A9,"""0       """
+s2,2,Nominal,Input,9,Left,A9,A9,"""12      ""; ""123     """
+s3,3,Nominal,Input,9,Left,A9,A9,"""1234    ""; ""12345   ""; ""12345678"""
+
+Table: Value Labels
+Variable Value,,Label
+s1,abc,First value label
+,abcdefgh,Second value label
+,abcdefghi,Third value label
+s2,0,Fourth value label
+,01234567,Fifth value label
+,012345678,Sixth value label
 ])
     AT_CHECK_UNQUOTED([dd if=foo.sav bs=1 count=4; echo], [0], [$magic
 ], [ignore])
@@ -270,21 +267,22 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv get.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variable,Label,Position
-cont,continents of the world,1
-size,sq km,2
-pop,population,3
-count,number of countries,4
+Table: Variables
+Name,Position,Label
+cont,1,continents of the world
+size,2,sq km
+pop,3,population
+count,4,number of countries
 
 Table: Data List
 cont,size,pop,count
-Asia                            ,44579000,3.7E+009,44.00
-Africa                          ,30065000,7.8E+008,53.00
-North America                   ,24256000,4.8E+008,23.00
-South America                   ,17819000,3.4E+008,12.00
-Antarctica                      ,13209000,.00,.00
-Europe                          ,9938000,7.3E+008,46.00
-Australia/Oceania               ,7687000,31000000,14.00
+Asia,44579000,3.7E+009,44.00
+Africa,30065000,7.8E+008,53.00
+North America,24256000,4.8E+008,23.00
+South America,17819000,3.4E+008,12.00
+Antarctica,13209000,.00,.00
+Europe,9938000,7.3E+008,46.00
+Australia/Oceania,7687000,31000000,14.00
 ])
 AT_CLEANUP
 
@@ -338,15 +336,12 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv sys-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variable,Description,Position
-N,"Format: F8.2
-Display Width: 10",1
-A255,"Format: A255
-Display Width: 32",2
-A258,"Format: A258
-Display Width: 32",3
-A2000,"Format: A2000
-Display Width: 32",4
+Table: Variables
+Name,Position,Print Format,Write Format
+N,1,F8.2,F8.2
+A255,2,A255,A255
+A258,3,A258,A258
+A2000,4,A2000,A2000
 
 Table: Data List
 N,A255,A258,A2000
@@ -364,15 +359,12 @@ LIST.
 ])
 AT_CHECK([pspp -o pspp.csv sys-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
-Variable,Description,Position
-vl255,"Format: A255
-Display Width: 26",1
-vl256,"Format: A256
-Display Width: 26",2
-vl1335,"Format: A1335
-Display Width: 26",3
-vl2000,"Format: A2000
-Display Width: 26",4
+Table: Variables
+Name,Position,Print Format,Write Format
+vl255,1,A255,A255
+vl256,2,A256,A256
+vl1335,3,A1335,A1335
+vl2000,4,A2000,A2000
 
 Table: Data List
 vl255,vl256,vl1335,vl2000
@@ -394,9 +386,9 @@ m4_define([VLS_WRITE],
    vls_gen_data
    AT_DATA([save.sps], [dnl
 DATA LIST FIXED NOTABLE FILE='data.txt'
-    /a 2-11 (a) 
-     b (a256) 
-     c (a200) 
+    /a 2-11 (a)
+     b (a256)
+     c (a200)
      d (a32767).
 
 SAVE OUTFILE='foo.sav' /$1.
@@ -408,7 +400,7 @@ GET FILE='foo.sav'.
 DISPLAY VARIABLES.
 
 PRINT OUTFILE='out.txt'
-       /a (a10) b (a256) c (a200) 
+       /a (a10) b (a256) c (a200)
        d (a32767)
        .
 
@@ -416,11 +408,12 @@ EXECUTE.
 ])
    AT_CHECK([pspp -o pspp.csv get.sps])
    AT_CHECK([cat pspp.csv], [0], [dnl
-Variable,Description,Position
-a,Format: A10,1
-b,Format: A256,2
-c,Format: A200,3
-d,Format: A32767,4
+Table: Variables
+Name,Position,Print Format,Write Format
+a,1,A10,A10
+b,2,A256,A256
+c,3,A200,A200
+d,4,A32767,A32767
 ])
    AT_CLEANUP])
 
@@ -462,38 +455,33 @@ GET FILE='foo.sav'.
 DISPLAY FILE LABEL.
 DISPLAY DOCUMENTS.
 DISPLAY DICTIONARY.
+DISPLAY ATTRIBUTES.
 ])
 AT_CHECK([pspp -o pspp.csv get.sps])
 AT_CHECK([[sed 's/(Entered [^)]*)/(Entered <date>)/' pspp.csv]], [0], [dnl
-File label: clientèle confrère cortège crèche
-
-Documents in the active dataset:
-
-DOCUMENT coördinate smörgåsbord
+Table: File Label
+Label,clientèle confrère cortège crèche
 
+Table: Documents
+"DOCUMENT coördinate smörgåsbord
 épée séance soufflé soirée
-
 jalapeño vicuña.
-
-(Entered <date>)
-
-Variable,Description,Position
-àéîöçxyzabc,"Format: F8.2
-
-Value,Label
-1.00,éclair élan
-
-Attribute,Value
-Atatürk,Düsseldorf Gewürztraminer",1
-roué,"Label: Provençal soupçon
-Format: A9
-
-Value,Label
-abcdefghi,sauté précis",2
-croûton,Format: A1000,3
-
-Table: Custom data file attributes.
-Attribute,Value
-Furtwängler,kindergärtner
+   (Entered <date>)"
+
+Table: Variables
+Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+àéîöçxyzabc,1,,Nominal,Input,8,Right,F8.2,F8.2
+roué,2,Provençal soupçon,Nominal,Input,9,Left,A9,A9
+croûton,3,,Nominal,Input,32,Left,A1000,A1000
+
+Table: Value Labels
+Variable Value,,Label
+àéîöçxyzabc,1.00,éclair élan
+Provençal soupçon,abcdefghi,sauté précis
+
+Table: Variable and Dataset Attributes
+Variable and Name,,Value
+(dataset),Furtwängler,kindergärtner
+àéîöçxyzabc,Atatürk,Düsseldorf Gewürztraminer
 ])
 AT_CLEANUP