X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fdata-list.at;h=ee576ae474451670fde52863d16de6bc96951422;hb=refs%2Fheads%2Fctables10;hp=ade227274cd0ace507260f2d47a9bf7bed307ed7;hpb=00175c601a93d7adba981851860fdf9d72ec9119;p=pspp diff --git a/tests/language/data-io/data-list.at b/tests/language/data-io/data-list.at index ade227274c..ee576ae474 100644 --- a/tests/language/data-io/data-list.at +++ b/tests/language/data-io/data-list.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([DATA LIST]) AT_SETUP([DATA LIST LIST with empty fields]) @@ -96,7 +112,7 @@ AT_CLEANUP AT_SETUP([DATA LIST LIST with SKIP and tab delimiter]) AT_DATA([data-list.pspp], [dnl -data list free (tab) skip=2/A B C D. +data list list (tab) notable skip=2/A B C D. begin data. # These records # are skipped. @@ -141,6 +157,69 @@ A,B,C,D ]) AT_CLEANUP +dnl Results of this test were confirmed with SPSS 21: +dnl http://lists.gnu.org/archive/html/pspp-dev/2013-09/msg00003.html +AT_SETUP([DATA LIST FREE with explicit delimiter at end of line]) +AT_DATA([data-list.pspp], [dnl +DATA LIST FREE(',')/x y z. +BEGIN DATA. +1,2,3 +4,5,6 +7,8,9 +END DATA. +LIST. + +DATA LIST FREE(',')/x y z. +BEGIN DATA. +11,12,13, +14,15,16, +17,18,19, +END DATA. +LIST. + +DATA LIST FREE(TAB)/x y z. +BEGIN DATA. +21 22 23 +24 25 26 +27 28 29 +END DATA. +LIST. + +DATA LIST FREE(TAB)/x y z. +BEGIN DATA. +31 32 33 @&t@ +34 35 36 @&t@ +37 38 39 @&t@ +END DATA. +LIST. +]) +AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl +Table: Data List +x,y,z +1.00,2.00,3.00 +4.00,5.00,6.00 +7.00,8.00,9.00 + +Table: Data List +x,y,z +11.00,12.00,13.00 +14.00,15.00,16.00 +17.00,18.00,19.00 + +Table: Data List +x,y,z +21.00,22.00,23.00 +24.00,25.00,26.00 +27.00,28.00,29.00 + +Table: Data List +x,y,z +31.00,32.00,33.00 +34.00,35.00,36.00 +37.00,38.00,39.00 +]) +AT_CLEANUP + AT_SETUP([DATA LIST FIXED with multiple records per case]) AT_DATA([data-list.pspp], [dnl data list fixed notable @@ -270,7 +349,87 @@ data-list.sps:4: warning: Missing delimiter following quoted string. Table: Data List s -y @&t@ -z @&t@ +y +z ]) AT_CLEANUP + +AT_SETUP([DATA LIST FREE and LIST assume a width if omitted]) +AT_DATA([data-list.sps], [dnl +DATA LIST FREE TABLE/s (a) d (datetime) f (f). +]) +AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl +Table: Reading free-form data from INLINE. +Variable,Format +s,A1 +d,DATETIME17.0 +f,F1.0 +]) +AT_CLEANUP + +AT_SETUP([DATA LIST Decimal comma]) +AT_DATA([data-list.sps], [dnl +SET DECIMAL=COMMA. + +DATA LIST NOTABLE LIST /A *. +BEGIN DATA +1 +2 +3 +3,5 +4 +4,5 +5 +6 +END DATA + +LIST /FORMAT=NUMBERED. +]) + +AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl +Table: Data List +Case Number,A +1,"1,00" +2,"2,00" +3,"3,00" +4,"3,50" +5,"4,00" +6,"4,50" +7,"5,00" +8,"6,00" +]) + +AT_CLEANUP + + +AT_SETUP([DATA LIST - Negative SKIP]) +AT_DATA([data-list.sps], [dnl +DATA LIST LIST FILE='f.in' NOTABLE SKIP=-1 /a b c d. + +EXECUTE. +]) + +AT_CHECK([pspp -O format=csv data-list.sps], [1], [dnl +data-list.sps:1.41-1.42: error: DATA LIST: Syntax error at `-1': Expected non-negative integer for SKIP. + +data-list.sps:3: error: Stopping syntax file processing here to avoid a cascade of dependent command failures. +]) + +AT_CLEANUP + + +AT_SETUP([DATA LIST - Negative RECORDS]) +AT_DATA([data-list.sps], [dnl +DATA LIST LIST FILE='f.in' NOTABLE RECORDS=-1 /a b c d. + +EXECUTE. +]) + +AT_CHECK([pspp -O format=csv data-list.sps], [1], [dnl +data-list.sps:1.44-1.45: error: DATA LIST: Syntax error at `-1': Expected non-negative integer for RECORDS. + +data-list.sps:3: error: Stopping syntax file processing here to avoid a cascade of dependent command failures. +]) + +AT_CLEANUP +