X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fdata%2Fpc%2B-file-reader.at;h=2e032cdfb6a46fecaf6ed169fdbc717aed9cbd82;hb=ccaf88efae9f6f4d93d7812834c412e8fd511bb2;hp=1d89d0dbf6e79a432cb89847a83a72820fae911a;hpb=63c7521729b947ace9e192dff9330813ecfb5812;p=pspp diff --git a/tests/data/pc+-file-reader.at b/tests/data/pc+-file-reader.at index 1d89d0dbf6..2e032cdfb6 100644 --- a/tests/data/pc+-file-reader.at +++ b/tests/data/pc+-file-reader.at @@ -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 . +dnl AT_BANNER([SPSS/PC+ file reader - positive]) AT_SETUP([variable labels and missing values]) @@ -359,6 +375,90 @@ NUM1,NUM2,STR4,STR8,STR15 1000,.,PQRS,TUVWXYZa,bcdefghijklmnop ]) AT_CLEANUP + +AT_SETUP([weighted]) +AT_KEYWORDS([sack synthetic PC+ file negative]) +AT_DATA([pc+-file.sack], [dnl +dnl File header. +2; 0; +@MAIN; @MAIN_END - @MAIN; +@VARS; @VARS_END - @VARS; +0; 0; +@DATA; @DATA_END - @DATA; +(0; 0) * 11; +i8 0 * 128; + +MAIN: + i16 1; dnl Fixed. + s62 "PCSPSS PSPP synthetic test product"; + PCSYSMIS; + 0; 0; i16 1; dnl Fixed. + i16 0; + i16 7; + i16 1; i16 6; + i16 0; dnl Fixed. + i16 1; i16 0; + s8 "11/28/14"; + s8 "15:11:00"; + s64 "PSPP synthetic test file"; +MAIN_END: + +VARS: + 0; 0; 0; 0x050800; s8 "$CASENUM"; PCSYSMIS; + 0; 0; 0; 0x010800; s8 "$DATE"; PCSYSMIS; + 0; 0; 0; 0x050802; s8 "$WEIGHT"; PCSYSMIS; + + dnl Numeric variables. + 0; 0; 0; 0x050800; s8 "NUM1"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM2"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM3"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM4"; PCSYSMIS; +VARS_END: + +DATA: + 0.0; "11/28/14"; 1.0; 2.0; 3.0; 4.0; 5.0; +DATA_END: +]) +AT_CHECK([sack --le pc+-file.sack > pc+-file.sav]) +AT_DATA([pc+-file.sps], [dnl +SYSFILE INFO FILE='pc+-file.sav' ENCODING='us-ascii'. +]) +AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl +File:,pc+-file.sav +Label:,PSPP synthetic test file +Created:,11/28/14 15:11:00 by PCSPSS PSPP synthetic test product +Integer Format:,Little Endian +Real Format:,IEEE 754 LE. +Variables:,4 +Cases:,1 +Type:,SPSS/PC+ System File +Weight:,NUM3 +Compression:,None +Encoding:,us-ascii + +Variable,Description,Position +NUM1,"Format: F8.0 +Measure: Scale +Role: Input +Display Alignment: Right +Display Width: 8",1 +NUM2,"Format: F8.0 +Measure: Scale +Role: Input +Display Alignment: Right +Display Width: 8",2 +NUM3,"Format: F8.0 +Measure: Scale +Role: Input +Display Alignment: Right +Display Width: 8",3 +NUM4,"Format: F8.0 +Measure: Scale +Role: Input +Display Alignment: Right +Display Width: 8",4 +]) +AT_CLEANUP AT_BANNER([SPSS/PC+ file reader - negative]) @@ -518,7 +618,7 @@ AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl warning: `pc+-file.sav' near offset 0x100: Record 0 specifies unexpected system missing value 1 (0x1p+0). -"warning: `pc+-file.sav' near offset 0x100: Record 0 reserved fields have unexpected values (1,1,0,2,0)." +"warning: `pc+-file.sav' near offset 0x100: Record 0 reserved fields have unexpected values (1,1,0,2,0,0)." warning: `pc+-file.sav' near offset 0x100: Record 0 case counts differ (1 versus 3). ]) @@ -844,6 +944,8 @@ GET FILE='pc+-file.sav' ENCODING='us-ascii'. ]) AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl error: `pc+-file.sav' near offset 0x1b0: Record 1 has length 192 (expected 224). + +pc+-file.sps:1: error: GET: `pc+-file.sav': Data file dictionary has no variables. ]) AT_CLEANUP @@ -1213,3 +1315,107 @@ NUM1,NUM2,STR4,STR8,STR15 1000,.,PQRS,TUVWXYZa,bcdefghijklmnop ]) AT_CLEANUP + +AT_SETUP([invalid weight index]) +AT_KEYWORDS([sack synthetic PC+ file negative]) +AT_DATA([pc+-file.sack], [dnl +dnl File header. +2; 0; +@MAIN; @MAIN_END - @MAIN; +@VARS; @VARS_END - @VARS; +0; 0; +@DATA; @DATA_END - @DATA; +(0; 0) * 11; +i8 0 * 128; + +MAIN: + i16 1; dnl Fixed. + s62 "PCSPSS PSPP synthetic test product"; + PCSYSMIS; + 0; 0; i16 1; dnl Fixed. + i16 0; + i16 7; + i16 1; i16 10; + i16 0; dnl Fixed. + i16 1; i16 0; + s8 "11/28/14"; + s8 "15:11:00"; + s64 "PSPP synthetic test file"; +MAIN_END: + +VARS: + 0; 0; 0; 0x050800; s8 "$CASENUM"; PCSYSMIS; + 0; 0; 0; 0x010800; s8 "$DATE"; PCSYSMIS; + 0; 0; 0; 0x050802; s8 "$WEIGHT"; PCSYSMIS; + + dnl Numeric variables. + 0; 0; 0; 0x050800; s8 "NUM1"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM2"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM3"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM4"; PCSYSMIS; +VARS_END: + +DATA: + 0.0; "11/28/14"; 1.0; 2.0; 3.0; 4.0; 5.0; +DATA_END: +]) +AT_CHECK([sack --le pc+-file.sack > pc+-file.sav]) +AT_DATA([pc+-file.sps], [dnl +GET FILE='pc+-file.sav' ENCODING='us-ascii'. +]) +AT_CHECK([pspp -O format=csv pc+-file.sps], [0], + [warning: `pc+-file.sav': Invalid weight index 10. +]) +AT_CLEANUP + +AT_SETUP([string weight]) +AT_KEYWORDS([sack synthetic PC+ file negative]) +AT_DATA([pc+-file.sack], [dnl +dnl File header. +2; 0; +@MAIN; @MAIN_END - @MAIN; +@VARS; @VARS_END - @VARS; +0; 0; +@DATA; @DATA_END - @DATA; +(0; 0) * 11; +i8 0 * 128; + +MAIN: + i16 1; dnl Fixed. + s62 "PCSPSS PSPP synthetic test product"; + PCSYSMIS; + 0; 0; i16 1; dnl Fixed. + i16 0; + i16 7; + i16 1; i16 6; + i16 0; dnl Fixed. + i16 1; i16 0; + s8 "11/28/14"; + s8 "15:11:00"; + s64 "PSPP synthetic test file"; +MAIN_END: + +VARS: + 0; 0; 0; 0x050800; s8 "$CASENUM"; PCSYSMIS; + 0; 0; 0; 0x010800; s8 "$DATE"; PCSYSMIS; + 0; 0; 0; 0x050802; s8 "$WEIGHT"; PCSYSMIS; + + dnl Variables. + 0; 0; 0; 0x050800; s8 "NUM1"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM2"; PCSYSMIS; + 0; 0; 0; 0x010800; s8 "STR1"; PCSYSMIS; + 0; 0; 0; 0x050800; s8 "NUM4"; PCSYSMIS; +VARS_END: + +DATA: + 0.0; "11/28/14"; 1.0; s8 "acbdefgh"; 3.0; 4.0; 5.0; +DATA_END: +]) +AT_CHECK([sack --le pc+-file.sack > pc+-file.sav]) +AT_DATA([pc+-file.sps], [dnl +GET FILE='pc+-file.sav' ENCODING='us-ascii'. +]) +AT_CHECK([pspp -O format=csv pc+-file.sps], [0], + [warning: `pc+-file.sav' near offset 0x250: Cannot weight by string variable `STR1'. +]) +AT_CLEANUP