-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
-\f
-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