From: Ben Pfaff Date: Tue, 28 Sep 2010 04:55:17 +0000 (-0700) Subject: tests: Break get-data.at up into get-data-gnm.at and get-data-txt.at X-Git-Tag: v0.7.6~147 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=519834fd74bf78f31fdc06870dc742cd7e033cb4;p=pspp-builds.git tests: Break get-data.at up into get-data-gnm.at and get-data-txt.at --- diff --git a/tests/automake.mk b/tests/automake.mk index 82b223dc..0f31c14d 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -379,7 +379,8 @@ TESTSUITE_AT = \ tests/language/data-io/data-list.at \ tests/language/data-io/data-reader.at \ tests/language/data-io/file-handle.at \ - tests/language/data-io/get-data.at \ + tests/language/data-io/get-data-gnm.at \ + tests/language/data-io/get-data-txt.at \ tests/language/data-io/save.at \ tests/language/data-io/save-translate.at \ tests/language/dictionary/attributes.at \ diff --git a/tests/language/data-io/get-data-gnm.at b/tests/language/data-io/get-data-gnm.at new file mode 100644 index 00000000..92815dc0 --- /dev/null +++ b/tests/language/data-io/get-data-gnm.at @@ -0,0 +1,162 @@ +AT_BANNER([GET DATA /TYPE=GNM]) + +AT_SETUP([GET DATA /TYPE=GNM with CELLRANGE]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=off /SHEET=name 'This' /CELLRANGE=range 'g9:i13' . +DISPLAY VARIABLES. +LIST. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Variable,Description,,Position +VAR001,Format: F8.2,,1 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +VAR002,Format: A8,,2 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 8,, +VAR003,Format: F8.2,,3 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, + +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 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=GNM with CELLRANGE and READNAMES]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=on /SHEET=name 'This' /CELLRANGE=range 'g8:i13' . +DISPLAY VARIABLES. +LIST. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Variable,Description,,Position +V1,Format: F8.2,,1 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +V2,Format: A8,,2 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 8,, +VAR001,Format: F8.2,,3 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, + +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 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=GNM without CELLRANGE]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=index 3. +DISPLAY VARIABLES. +LIST. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Variable,Description,,Position +name,Format: A8,,1 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 8,, +id,Format: F8.2,,2 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +height,Format: F8.2,,3 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, + +Table: Data List +name,id,height +fred ,.00,23.40 +bert ,1.00,.56 +charlie ,2.00,. @&t@ +dick ,3.00,-34.09 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=GNM with missing data]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +* This sheet has no data in one of its variables +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=on /SHEET=index 5. +DISPLAY VARIABLES. +LIST. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Variable,Description,,Position +vone,Format: F8.2,,1 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +vtwo,Format: F8.2,,2 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, +vthree,Format: A8,,3 +,Measure: Nominal,, +,Display Alignment: Left,, +,Display Width: 8,, +v4,Format: F8.2,,4 +,Measure: Scale,, +,Display Alignment: Right,, +,Display Width: 8,, + +Table: Data List +vone,vtwo,vthree,v4 +1.00,3.00,,5.00 +2.00,4.00,,6.00 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=GNM with empty sheet]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +* This sheet is empty +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=name 'Empty'. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl +warning: Selected sheet or range of spreadsheet `Book1.gnumeric' is empty. +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=GNM with nonexistent sheet]) +AT_SKIP_IF([test "$GNM_SUPPORT" = no]) +AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) +AT_DATA([get-data.sps], [dnl +* This sheet doesnt exist. +GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=name 'foobarxx'. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl +warning: Selected sheet or range of spreadsheet `Book1.gnumeric' is empty. +]) +AT_CLEANUP diff --git a/tests/language/data-io/get-data-txt.at b/tests/language/data-io/get-data-txt.at new file mode 100644 index 00000000..b5525b71 --- /dev/null +++ b/tests/language/data-io/get-data-txt.at @@ -0,0 +1,570 @@ +at_BANNER([GET DATA /TYPE=TXT]) + +dnl These tests exercise features of GET DATA /TYPE=TXT that +dnl it has in common with DATA LIST, using tests drawn from +dnl DATA LIST. + +AT_SETUP([GET DATA /TYPE=TXT with explicit delimiters]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file=inline /delimiters="|X" + /variables=A f7.2 B f7.2 C f7.2 D f7.2. +begin data. +1|23X45|2.03 +2X22|34|23| +3|34|34X34 +end data. + +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +A,B,C,D +1.00,23.00,45.00,2.03 +2.00,22.00,34.00,23.00 +3.00,34.00,34.00,34.00 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file=inline /delimiters=', ' /delcase=variables 4 + /firstcase=2 /variables=A f7.2 B f7.2 C f7.2 D f7.2. +begin data. +# This record is ignored. +,1,2,3 +,4,,5 +6 +7, +8 9 +0,1,,, +,,,, +2 + +3 +4 +5 +end data. +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +A,B,C,D +. ,1.00,2.00,3.00 +. ,4.00,. ,5.00 +6.00,7.00,. ,8.00 +9.00,.00,1.00,. @&t@ +. ,. ,. ,. @&t@ +. ,. ,. ,2.00 +. ,3.00,4.00,5.00 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE and tab delimiter]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file=inline /delimiters='\t' /delcase=variables 4 + /firstcase=3 /variables=A f7.2 B f7.2 C f7.2 D f7.2. +begin data. +# These records +# are skipped. +1 2 3 4 +1 2 3 @&t@ +1 2 4 +1 2 @&t@ +1 3 4 +1 3 @&t@ +1 4 +1 @&t@ + 2 3 4 + 2 3 @&t@ + 2 4 + 2 @&t@ + 3 4 + 3 @&t@ + 4 + @&t@ +end data. +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +A,B,C,D +1.00,2.00,3.00,4.00 +1.00,2.00,3.00,. @&t@ +1.00,2.00,. ,4.00 +1.00,2.00,. ,. @&t@ +1.00,. ,3.00,4.00 +1.00,. ,3.00,. @&t@ +1.00,. ,. ,4.00 +1.00,. ,. ,. @&t@ +. ,2.00,3.00,4.00 +. ,2.00,3.00,. @&t@ +. ,2.00,. ,4.00 +. ,2.00,. ,. @&t@ +. ,. ,3.00,4.00 +. ,. ,3.00,. @&t@ +. ,. ,. ,4.00 +. ,. ,. ,. @&t@ +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=TXT with multiple records per case]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file=inline /arrangement=fixed /fixcase=3 /variables= + /1 start 0-19 adate + /2 end 0-19 adate + /3 count 0-2 f. +begin data. +07-22-2007 +10-06-2007 +321 +07-14-1789 +08-26-1789 +4 +01-01-1972 +12-31-1999 +682 +end data. +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +start,end,count +07/22/2007,10/06/2007,321 +07/14/1789,08/26/1789,4 +01/01/1972,12/31/1999,682 +]) +AT_CLEANUP + +AT_SETUP([GET DATA /TYPE=TXT with empty trailing record]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file=inline /arrangement=fixed /fixcase=2 /variables= + /1 x 0 f + y 1 f. +begin data. +12 + +34 + +56 + +78 + +90 + +end data. +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +x,y +1,2 +3,4 +5,6 +7,8 +9,0 +]) +AT_CLEANUP + +dnl This test is a copy of an example given in the manual +dnl in doc/files.texi. +AT_SETUP([GET DATA /TYPE=TXT password example]) +AT_DATA([passwd.data], [dnl +root:$1$nyeSP5gD$pDq/:0:0:,,,:/root:/bin/bash +blp:$1$BrP/pFg4$g7OG:1000:1000:Ben Pfaff,,,:/home/blp:/bin/bash +john:$1$JBuq/Fioq$g4A:1001:1001:John Darrington,,,:/home/john:/bin/bash +jhs:$1$D3li4hPL$88X1:1002:1002:Jason Stover,,,:/home/jhs:/bin/csh +]) +AT_DATA([passwd.sps], [dnl +GET DATA /TYPE=TXT /FILE='passwd.data' /DELIMITERS=':' + /VARIABLES=username A20 + password A40 + uid F10 + gid F10 + gecos A40 + home A40 + shell A40. +LIST. +]) +AT_CHECK([pspp -o pspp.csv passwd.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +username,password,uid,gid,gecos,home,shell +root ,$1$nyeSP5gD$pDq/ ,0,0,",,, ",/root ,/bin/bash @&t@ +blp ,$1$BrP/pFg4$g7OG ,1000,1000,"Ben Pfaff,,, ",/home/blp ,/bin/bash @&t@ +john ,$1$JBuq/Fioq$g4A ,1001,1001,"John Darrington,,, ",/home/john ,/bin/bash @&t@ +jhs ,$1$D3li4hPL$88X1 ,1002,1002,"Jason Stover,,, ",/home/jhs ,/bin/csh @&t@ +]) +AT_CLEANUP + +dnl This test is a copy of an example given in the manual +dnl in doc/files.texi. +AT_SETUP([GET DATA /TYPE=TXT cars example]) +AT_DATA([cars.data], [dnl +model year mileage price type age +Civic 2002 29883 15900 Si 2 +Civic 2003 13415 15900 EX 1 +Civic 1992 107000 3800 n/a 12 +Accord 2002 26613 17900 EX 1 +]) +AT_DATA([cars.sps], [dnl +GET DATA /TYPE=TXT /FILE='cars.data' /DELIMITERS=' ' /FIRSTCASE=2 + /VARIABLES=model A8 + year F4 + mileage F6 + price F5 + type A4 + age F2. +LIST. + +GET DATA /TYPE=TXT /FILE='cars.data' /ARRANGEMENT=FIXED /FIRSTCASE=2 + /VARIABLES=model 0-7 A + year 8-15 F + mileage 16-23 F + price 24-31 F + type 32-39 A + age 40-47 F. +LIST. +]) +AT_CHECK([pspp -o pspp.csv cars.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +model,year,mileage,price,type,age +Civic ,2002,29883,15900,Si ,2 +Civic ,2003,13415,15900,EX ,1 +Civic ,1992,107000,3800,n/a ,12 +Accord ,2002,26613,17900,EX ,1 + +Table: Data List +model,year,mileage,price,type,age +Civic ,2002,29883,15900,Si ,2 +Civic ,2003,13415,15900,EX ,1 +Civic ,1992,107000,3800,n/a ,12 +Accord ,2002,26613,17900,EX ,1 +]) +AT_CLEANUP + +dnl This test is a copy of an example given in the manual +dnl in doc/files.texi. +AT_SETUP([GET DATA /TYPE=TXT pets example]) +AT_DATA([pets.data], [dnl +'Pet''s Name', "Age", "Color", "Date Received", "Price", "Height", "Type" +, (Years), , , (Dollars), , +"Rover", 4.5, Brown, "12 Feb 2004", 80, '1''4"', "Dog" +"Charlie", , Gold, "5 Apr 2007", 12.3, "3""", "Fish" +"Molly", 2, Black, "12 Dec 2006", 25, '5"', "Cat" +"Gilly", , White, "10 Apr 2007", 10, "3""", "Guinea Pig" +]) +AT_DATA([pets.sps], [dnl +GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /ESCAPE + /FIRSTCASE=3 + /VARIABLES=name A10 + age F3.1 + color A5 + received EDATE10 + price F5.2 + height a5 + type a10. +LIST. +]) +AT_CHECK([pspp -o pspp.csv pets.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +name,age,color,received,price,height,type +Rover ,4.5,Brown,12.02.2004,80.00,"1'4"" ",Dog @&t@ +Charlie ,. ,Gold ,05.04.2007,12.30,"3"" ",Fish @&t@ +Molly ,2.0,Black,12.12.2006,25.00,"5"" ",Cat @&t@ +Gilly ,. ,White,10.04.2007,10.00,"3"" ",Guinea Pig +]) +AT_CLEANUP +dnl " (fixes Emacs highlighting) + +AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASES]) +AT_CHECK([$PERL > test.data <<'EOF' +for ($i = 1; $i <= 100; $i++) { + printf "%02d\n", $i; +} +EOF +]) +AT_DATA([get-data.sps], [dnl +get data /type=txt /file='test.data' /importcases=first 10 /variables x f8.0. +list. + +get data /type=txt /file='test.data' /importcases=percent 1 /variables x f8.0. +list. + +get data /type=txt /file='test.data' /importcases=percent 35 /variables x f8.0. +list. + +get data /type=txt /file='test.data' /importcases=percent 95 /variables x f8.0. +list. + +get data /type=txt /file='test.data' /importcases=percent 100 /variables x f8.0. +list. +]) +AT_CHECK([pspp -o pspp.csv get-data.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +x +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 + +Table: Data List +x +1 +2 + +Table: Data List +x +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 + +Table: Data List +x +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 + +Table: Data List +x +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +]) +AT_CLEANUP diff --git a/tests/language/data-io/get-data.at b/tests/language/data-io/get-data.at deleted file mode 100644 index 3b4d8b73..00000000 --- a/tests/language/data-io/get-data.at +++ /dev/null @@ -1,732 +0,0 @@ -at_BANNER([GET DATA /TYPE=TXT]) - -dnl These tests exercise features of GET DATA /TYPE=TXT that -dnl it has in common with DATA LIST, using tests drawn from -dnl DATA LIST. - -AT_SETUP([GET DATA /TYPE=TXT with explicit delimiters]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file=inline /delimiters="|X" - /variables=A f7.2 B f7.2 C f7.2 D f7.2. -begin data. -1|23X45|2.03 -2X22|34|23| -3|34|34X34 -end data. - -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -A,B,C,D -1.00,23.00,45.00,2.03 -2.00,22.00,34.00,23.00 -3.00,34.00,34.00,34.00 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file=inline /delimiters=', ' /delcase=variables 4 - /firstcase=2 /variables=A f7.2 B f7.2 C f7.2 D f7.2. -begin data. -# This record is ignored. -,1,2,3 -,4,,5 -6 -7, -8 9 -0,1,,, -,,,, -2 - -3 -4 -5 -end data. -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -A,B,C,D -. ,1.00,2.00,3.00 -. ,4.00,. ,5.00 -6.00,7.00,. ,8.00 -9.00,.00,1.00,. @&t@ -. ,. ,. ,. @&t@ -. ,. ,. ,2.00 -. ,3.00,4.00,5.00 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=TXT with FIRSTCASE and tab delimiter]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file=inline /delimiters='\t' /delcase=variables 4 - /firstcase=3 /variables=A f7.2 B f7.2 C f7.2 D f7.2. -begin data. -# These records -# are skipped. -1 2 3 4 -1 2 3 @&t@ -1 2 4 -1 2 @&t@ -1 3 4 -1 3 @&t@ -1 4 -1 @&t@ - 2 3 4 - 2 3 @&t@ - 2 4 - 2 @&t@ - 3 4 - 3 @&t@ - 4 - @&t@ -end data. -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -A,B,C,D -1.00,2.00,3.00,4.00 -1.00,2.00,3.00,. @&t@ -1.00,2.00,. ,4.00 -1.00,2.00,. ,. @&t@ -1.00,. ,3.00,4.00 -1.00,. ,3.00,. @&t@ -1.00,. ,. ,4.00 -1.00,. ,. ,. @&t@ -. ,2.00,3.00,4.00 -. ,2.00,3.00,. @&t@ -. ,2.00,. ,4.00 -. ,2.00,. ,. @&t@ -. ,. ,3.00,4.00 -. ,. ,3.00,. @&t@ -. ,. ,. ,4.00 -. ,. ,. ,. @&t@ -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=TXT with multiple records per case]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file=inline /arrangement=fixed /fixcase=3 /variables= - /1 start 0-19 adate - /2 end 0-19 adate - /3 count 0-2 f. -begin data. -07-22-2007 -10-06-2007 -321 -07-14-1789 -08-26-1789 -4 -01-01-1972 -12-31-1999 -682 -end data. -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -start,end,count -07/22/2007,10/06/2007,321 -07/14/1789,08/26/1789,4 -01/01/1972,12/31/1999,682 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=TXT with empty trailing record]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file=inline /arrangement=fixed /fixcase=2 /variables= - /1 x 0 f - y 1 f. -begin data. -12 - -34 - -56 - -78 - -90 - -end data. -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -x,y -1,2 -3,4 -5,6 -7,8 -9,0 -]) -AT_CLEANUP - -dnl This test is a copy of an example given in the manual -dnl in doc/files.texi. -AT_SETUP([GET DATA /TYPE=TXT password example]) -AT_DATA([passwd.data], [dnl -root:$1$nyeSP5gD$pDq/:0:0:,,,:/root:/bin/bash -blp:$1$BrP/pFg4$g7OG:1000:1000:Ben Pfaff,,,:/home/blp:/bin/bash -john:$1$JBuq/Fioq$g4A:1001:1001:John Darrington,,,:/home/john:/bin/bash -jhs:$1$D3li4hPL$88X1:1002:1002:Jason Stover,,,:/home/jhs:/bin/csh -]) -AT_DATA([passwd.sps], [dnl -GET DATA /TYPE=TXT /FILE='passwd.data' /DELIMITERS=':' - /VARIABLES=username A20 - password A40 - uid F10 - gid F10 - gecos A40 - home A40 - shell A40. -LIST. -]) -AT_CHECK([pspp -o pspp.csv passwd.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -username,password,uid,gid,gecos,home,shell -root ,$1$nyeSP5gD$pDq/ ,0,0,",,, ",/root ,/bin/bash @&t@ -blp ,$1$BrP/pFg4$g7OG ,1000,1000,"Ben Pfaff,,, ",/home/blp ,/bin/bash @&t@ -john ,$1$JBuq/Fioq$g4A ,1001,1001,"John Darrington,,, ",/home/john ,/bin/bash @&t@ -jhs ,$1$D3li4hPL$88X1 ,1002,1002,"Jason Stover,,, ",/home/jhs ,/bin/csh @&t@ -]) -AT_CLEANUP - -dnl This test is a copy of an example given in the manual -dnl in doc/files.texi. -AT_SETUP([GET DATA /TYPE=TXT cars example]) -AT_DATA([cars.data], [dnl -model year mileage price type age -Civic 2002 29883 15900 Si 2 -Civic 2003 13415 15900 EX 1 -Civic 1992 107000 3800 n/a 12 -Accord 2002 26613 17900 EX 1 -]) -AT_DATA([cars.sps], [dnl -GET DATA /TYPE=TXT /FILE='cars.data' /DELIMITERS=' ' /FIRSTCASE=2 - /VARIABLES=model A8 - year F4 - mileage F6 - price F5 - type A4 - age F2. -LIST. - -GET DATA /TYPE=TXT /FILE='cars.data' /ARRANGEMENT=FIXED /FIRSTCASE=2 - /VARIABLES=model 0-7 A - year 8-15 F - mileage 16-23 F - price 24-31 F - type 32-39 A - age 40-47 F. -LIST. -]) -AT_CHECK([pspp -o pspp.csv cars.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -model,year,mileage,price,type,age -Civic ,2002,29883,15900,Si ,2 -Civic ,2003,13415,15900,EX ,1 -Civic ,1992,107000,3800,n/a ,12 -Accord ,2002,26613,17900,EX ,1 - -Table: Data List -model,year,mileage,price,type,age -Civic ,2002,29883,15900,Si ,2 -Civic ,2003,13415,15900,EX ,1 -Civic ,1992,107000,3800,n/a ,12 -Accord ,2002,26613,17900,EX ,1 -]) -AT_CLEANUP - -dnl This test is a copy of an example given in the manual -dnl in doc/files.texi. -AT_SETUP([GET DATA /TYPE=TXT pets example]) -AT_DATA([pets.data], [dnl -'Pet''s Name', "Age", "Color", "Date Received", "Price", "Height", "Type" -, (Years), , , (Dollars), , -"Rover", 4.5, Brown, "12 Feb 2004", 80, '1''4"', "Dog" -"Charlie", , Gold, "5 Apr 2007", 12.3, "3""", "Fish" -"Molly", 2, Black, "12 Dec 2006", 25, '5"', "Cat" -"Gilly", , White, "10 Apr 2007", 10, "3""", "Guinea Pig" -]) -AT_DATA([pets.sps], [dnl -GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"' /ESCAPE - /FIRSTCASE=3 - /VARIABLES=name A10 - age F3.1 - color A5 - received EDATE10 - price F5.2 - height a5 - type a10. -LIST. -]) -AT_CHECK([pspp -o pspp.csv pets.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -name,age,color,received,price,height,type -Rover ,4.5,Brown,12.02.2004,80.00,"1'4"" ",Dog @&t@ -Charlie ,. ,Gold ,05.04.2007,12.30,"3"" ",Fish @&t@ -Molly ,2.0,Black,12.12.2006,25.00,"5"" ",Cat @&t@ -Gilly ,. ,White,10.04.2007,10.00,"3"" ",Guinea Pig -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=TXT with IMPORTCASES]) -AT_CHECK([$PERL > test.data <<'EOF' -for ($i = 1; $i <= 100; $i++) { - printf "%02d\n", $i; -} -EOF -]) -AT_DATA([get-data.sps], [dnl -get data /type=txt /file='test.data' /importcases=first 10 /variables x f8.0. -list. - -get data /type=txt /file='test.data' /importcases=percent 1 /variables x f8.0. -list. - -get data /type=txt /file='test.data' /importcases=percent 35 /variables x f8.0. -list. - -get data /type=txt /file='test.data' /importcases=percent 95 /variables x f8.0. -list. - -get data /type=txt /file='test.data' /importcases=percent 100 /variables x f8.0. -list. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 - -Table: Data List -x -1 -2 - -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 - -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 - -Table: Data List -x -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -]) -AT_CLEANUP - -AT_BANNER([GET DATA /TYPE=GNM]) - -AT_SETUP([GET DATA /TYPE=GNM with CELLRANGE]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=off /SHEET=name 'This' /CELLRANGE=range 'g9:i13' . -DISPLAY VARIABLES. -LIST. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -VAR001,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -VAR002,Format: A8,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -VAR003,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, - -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 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=GNM with CELLRANGE and READNAMES]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=on /SHEET=name 'This' /CELLRANGE=range 'g8:i13' . -DISPLAY VARIABLES. -LIST. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -V1,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -V2,Format: A8,,2 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -VAR001,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, - -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 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=GNM without CELLRANGE]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=index 3. -DISPLAY VARIABLES. -LIST. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -name,Format: A8,,1 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -id,Format: F8.2,,2 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -height,Format: F8.2,,3 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, - -Table: Data List -name,id,height -fred ,.00,23.40 -bert ,1.00,.56 -charlie ,2.00,. @&t@ -dick ,3.00,-34.09 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=GNM with missing data]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -* This sheet has no data in one of its variables -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /READNAMES=on /SHEET=index 5. -DISPLAY VARIABLES. -LIST. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl -Variable,Description,,Position -vone,Format: F8.2,,1 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -vtwo,Format: F8.2,,2 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, -vthree,Format: A8,,3 -,Measure: Nominal,, -,Display Alignment: Left,, -,Display Width: 8,, -v4,Format: F8.2,,4 -,Measure: Scale,, -,Display Alignment: Right,, -,Display Width: 8,, - -Table: Data List -vone,vtwo,vthree,v4 -1.00,3.00,,5.00 -2.00,4.00,,6.00 -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=GNM with empty sheet]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -* This sheet is empty -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=name 'Empty'. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl -warning: Selected sheet or range of spreadsheet `Book1.gnumeric' is empty. -]) -AT_CLEANUP - -AT_SETUP([GET DATA /TYPE=GNM with nonexistent sheet]) -AT_SKIP_IF([test "$GNM_SUPPORT" = no]) -AT_CHECK([gzip -c $top_srcdir/tests/language/data-io/Book1.gnm.unzipped > Book1.gnumeric]) -AT_DATA([get-data.sps], [dnl -* This sheet doesnt exist. -GET DATA /TYPE=gnm /FILE='Book1.gnumeric' /SHEET=name 'foobarxx'. -]) -AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl -warning: Selected sheet or range of spreadsheet `Book1.gnumeric' is empty. -]) -AT_CLEANUP