Automatically infer variables' measurement level from format and data.
[pspp] / tests / language / data-io / get-data-spreadsheet.at
index 86ca4554628fb419a69ede90fb0ac4d06d6cc528..cf380da1f3e7469e176b7585b52db127fc2f6ec2 100644 (file)
@@ -1,20 +1,21 @@
 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 
+dnl
 m4_define([SPREADSHEET_TEST_PREP],[dnl
+ AT_KEYWORDS([spreadsheet])
  m4_if($1,[GNM],[dnl
     AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric])dnl
     m4_define([testsheet],[Book1.gnumeric])dnl
@@ -37,18 +38,18 @@ LIST.
 AT_CHECK([pspp -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Print Format,Write Format,Missing Values
-VAR001,1,F8.2,F8.2,
-VAR002,2,A8,A8,
-VAR003,3,F8.2,F8.2,
+Name,Position,Print Format,Write Format
+VAR001,1,F8.2,F8.2
+VAR002,2,A8,A8
+VAR003,3,F8.2,F8.2
 
 Table: Data List
 VAR001,VAR002,VAR003
-.00,fred    ,20.00
-1.00,11      ,21.00
-2.00,twelve  ,22.00
-3.00,13      ,23.00
-4.00,14      ,24.00
+.00,fred,20.00
+1.00,11,21.00
+2.00,twelve,22.00
+3.00,13,23.00
+4.00,14,24.00
 ])
 AT_CLEANUP
 
@@ -62,18 +63,18 @@ LIST.
 AT_CHECK([pspp -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Print Format,Write Format,Missing Values
-V1,1,F8.2,F8.2,
-V2,2,A8,A8,
-VAR001,3,F8.2,F8.2,
+Name,Position,Print Format,Write Format
+V1,1,F8.2,F8.2
+V2,2,A8,A8
+VAR001,3,F8.2,F8.2
 
 Table: Data List
 V1,V2,VAR001
-.00,fred    ,20.00
-1.00,11      ,21.00
-2.00,twelve  ,22.00
-3.00,13      ,23.00
-4.00,14      ,24.00
+.00,fred,20.00
+1.00,11,21.00
+2.00,twelve,22.00
+3.00,13,23.00
+4.00,14,24.00
 ])
 AT_CLEANUP
 
@@ -86,19 +87,19 @@ LIST.
 ])
 AT_CHECK([pspp -O format=csv get-data.sps], [0], [dnl
 Table: Variables
-Name,Position,Print Format,Write Format,Missing Values
-name,1,A8,A8,
-id,2,F8.2,F8.2,
-height,3,F8.2,F8.2,
+Name,Position,Print Format,Write Format
+name,1,A8,A8
+id,2,F8.2,F8.2
+height,3,F8.2,F8.2
 
 warning: Cannot convert the value in the spreadsheet cell C4 to format (F8.2): Field contents are not numeric.
 
 Table: Data List
 name,id,height
-fred    ,.00,23.40
-bert    ,1.00,.56
-charlie ,2.00,.  @&t@
-dick    ,3.00,-34.09
+fred,.00,23.40
+bert,1.00,.56
+charlie,2.00,.  @&t@
+dick,3.00,-34.09
 ])
 AT_CLEANUP
 
@@ -113,11 +114,11 @@ LIST.
 AT_CHECK([pspp -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Variables
-Name,Position,Print Format,Write Format,Missing Values
-vone,1,F8.2,F8.2,
-vtwo,2,F8.2,F8.2,
-vthree,3,A8,A8,
-v4,4,F8.2,F8.2,
+Name,Position,Print Format,Write Format
+vone,1,F8.2,F8.2
+vtwo,2,F8.2,F8.2
+vthree,3,A8,A8
+v4,4,F8.2,F8.2
 
 Table: Data List
 vone,vtwo,vthree,v4
@@ -172,6 +173,7 @@ CHECK_SPREADSHEET_READER([GNM])
 
 dnl Check for a bug where gnumeric files were interpreted incorrectly
 AT_SETUP([GET DATA /TYPE=GNM sheet index bug])
+AT_KEYWORDS([spreadsheet])
 AT_DATA([minimal3.gnumeric],[dnl
 <?xml version="1.0" encoding="UTF-8"?>
 <gnm:Workbook xmlns:gnm="http://www.gnumeric.org/v10.dtd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gnumeric.org/v9.xsd">
@@ -296,7 +298,7 @@ AT_DATA([minimal3.gnumeric],[dnl
 ])
 
 AT_DATA([gnum.sps], [dnl
-GET DATA       
+GET DATA
        /TYPE=GNM
         /FILE='minimal3.gnumeric'
        /SHEET=index 3
@@ -309,9 +311,9 @@ LIST.
 AT_CHECK([pspp -O format=csv gnum.sps], [0], [dnl
 Table: Data List
 VAR001,VAR002,VAR003
-3       ,4.00,5.00
-6       ,7.00,8.00
-9       ,10.00,11.00
+3,4.00,5.00
+6,7.00,8.00
+9,10.00,11.00
 ])
 
 
@@ -320,10 +322,11 @@ AT_CLEANUP
 
 dnl Check for a bug where certain gnumeric files failed an assertion
 AT_SETUP([GET DATA /TYPE=GNM assert-fail])
+AT_KEYWORDS([spreadsheet])
 AT_DATA([read.sps],[dnl
-GET DATA 
+GET DATA
        /TYPE=GNM
-       /FILE='crash.gnumeric' 
+       /FILE='crash.gnumeric'
        .
 list.
 ])
@@ -376,8 +379,9 @@ CHECK_SPREADSHEET_READER([ODS])
 
 
 AT_SETUP([GET DATA /TYPE=ODS crash])
+AT_KEYWORDS([spreadsheet])
+
 
-                    
 AT_CHECK([cp $top_srcdir/tests/language/data-io/newone.ods this.ods])dnl
 
 AT_DATA([crash.sps],[dnl
@@ -391,6 +395,7 @@ AT_CLEANUP
 
 
 AT_SETUP([GET DATA /TYPE=ODS readnames])
+AT_KEYWORDS([spreadsheet])
 
 dnl Check for a bug where in the ODS reader /READNAMES incorrectly
 dnl dealt with repeated names.
@@ -398,6 +403,7 @@ AT_CHECK([cp $top_srcdir/tests/language/data-io/readnames.ods this.ods])dnl
 
 AT_DATA([readnames.sps],[dnl
 GET DATA /TYPE=ODS /FILE='this.ods' /CELLRANGE=RANGE 'A1:H8' /READNAMES=ON
+EXECUTE.
 DISPLAY DICTIONARY.
 LIST.
 ])
@@ -405,14 +411,14 @@ LIST.
 
 AT_CHECK([pspp -O format=csv readnames.sps], [0], [dnl
 Table: Variables
-Name,Position,Label,Measurement Level,Role,Width,Alignment,Print Format,Write Format,Missing Values
-freda,1,,Scale,Input,8,Right,F8.2,F8.2,
-fred,2,,Scale,Input,8,Right,F8.2,F8.2,
-fred_A,3,,Scale,Input,8,Right,F8.2,F8.2,
-fred_B,4,,Scale,Input,8,Right,F8.2,F8.2,
-fred_C,5,,Scale,Input,8,Right,F8.2,F8.2,
-fred_D,6,,Scale,Input,8,Right,F8.2,F8.2,
-fred_E,7,,Scale,Input,8,Right,F8.2,F8.2,
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+freda,1,Nominal,Input,8,Right,F8.2,F8.2
+fred,2,Nominal,Input,8,Right,F8.2,F8.2
+fred_A,3,Nominal,Input,8,Right,F8.2,F8.2
+fred_B,4,Nominal,Input,8,Right,F8.2,F8.2
+fred_C,5,Nominal,Input,8,Right,F8.2,F8.2
+fred_D,6,Nominal,Input,8,Right,F8.2,F8.2
+fred_E,7,Nominal,Input,8,Right,F8.2,F8.2
 
 Table: Data List
 freda,fred,fred_A,fred_B,fred_C,fred_D,fred_E