X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fmatrix-data.at;h=bf36d5e7d8c2fa2daf1022cccf23b35da5022a31;hb=691a034d7f2139076fa012739dffd40ef5db4a9b;hp=2f39f5817f27f5f059be228a96644f20dcbc4694;hpb=fe55889f4dbca132c99c17fcaf9604acd2a26593;p=pspp diff --git a/tests/language/data-io/matrix-data.at b/tests/language/data-io/matrix-data.at index 2f39f5817f..bf36d5e7d8 100644 --- a/tests/language/data-io/matrix-data.at +++ b/tests/language/data-io/matrix-data.at @@ -1,4 +1,19 @@ -AT_BANNER([MATRIX DATA]) +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([MATRIX DATA]) AT_SETUP([Matrix data (lower file)]) @@ -362,3 +377,106 @@ var06,9.22,.01 ]) AT_CLEANUP + + +AT_SETUP([Matrix data - too many rows]) + +dnl Test for a crash which occurred when the matrix had more rows declared +dnl than variables to hold them. +AT_DATA([matrix-data.pspp], [dnl +matrix data + variables = rowtype_ + var01 var02 var03 var04 + / format = upper diagonal . +begin data + mean 21.4 5.0 72.9 17.4 + sd 6.5 1.6 22.8 5.7 + n 106 106 106 106 + corr 1.00 .32 .48 .28 + corr 1.00 .72 .54 .44 + corr 1.00 .50 .59 .64 + corr 1.00 .62 .49 -.30 + corr 1.00 .56 -.38 .52 + corr 1.00 -.73 .91 .80 + corr 1.00 -.65 -.60 + corr 1.00 .70 + corr 1.00 +end data . + +execute. +]) + + +AT_CHECK([pspp -O format=csv matrix-data.pspp], [1], [dnl +matrix-data.pspp:13: error: MATRIX DATA: There are 4 variable declared but the data has at least 5 matrix rows. + +matrix-data.pspp:20: error: EXECUTE: EXECUTE is allowed only after the active dataset has been defined. +]) + + +AT_CLEANUP + + + + +AT_SETUP([Matrix data (badly formed)]) + +AT_DATA([data.pspp], [dnl +data list list /ROWTYPE_ (a8) VARNAME_(a4) v1 v2 v3 v4xxxxxxxxxxxxxxxxxxxxxzzzzzzzzzzzzzxxxxxxxxx. +begin data +mean "" 1 2 3 4 +sd "" 5 6 7 8 +n "" 2 3 4 5 +corr v1 11 22 33 44 +corr v2 55 66 77 88 +corr v3 111 222 333 444 +corr v4 4 3 21 1 +end data. + +list. + +factor matrix=in(corr = *) + . +]) + +AT_CHECK([pspp -O format=csv data.pspp], [1], [ignore]) + +AT_CLEANUP + + + + +AT_SETUP([Matrix data (N subcommand)]) + +AT_DATA([matrix-data.pspp], [dnl +matrix data + variables = rowtype_ var01 var02 var03 var04 + /n = 99 + /format = upper nodiagonal. +begin data +mean 34 35 36 37 +sd 22 11 55 66 +n_vector 1 2 3 4 +corr 9 8 7 +corr 6 5 +corr 4 +end data. + +list. +]) + +AT_CHECK([pspp -O format=csv matrix-data.pspp], [0], [dnl +"matrix-data.pspp:12: warning: MATRIX DATA: The N subcommand was specified, but a N record was also found in the data. The N record will be ignored." + +Table: Data List +ROWTYPE_,VARNAME_,var01,var02,var03,var04 +N ,,99.0000,99.0000,99.0000,99.0000 +mean ,,34.0000,35.0000,36.0000,37.0000 +STDDEV ,,22.0000,11.0000,55.0000,66.0000 +corr ,var01,1.0000,9.0000,8.0000,7.0000 +corr ,var02,9.0000,1.0000,6.0000,5.0000 +corr ,var03,8.0000,6.0000,1.0000,4.0000 +corr ,var04,7.0000,5.0000,4.0000,1.0000 +]) + +AT_CLEANUP