])
AT_CHECK([pspp -O format=csv matrix-data.sps], [0], [dnl
-matrix-data.sps:4: warning: MATRIX DATA: CELLS is ignored when VARIABLES includes ROWTYPE_
+"matrix-data.sps:4.6-4.10: warning: MATRIX DATA: CELLS is ignored when VARIABLES includes ROWTYPE_.
+ 4 | /cells = 2.
+ | ^~~~~"
Table: Data List
ROWTYPE_,VARNAME_,var01,var02,var03,var04
AT_CHECK([pspp -O format=csv matrix-data.sps], [0], [dnl
Table: Variables
Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
-s1,1,Scale,Input,8,Right,F4.0,F4.0
-s2,2,Scale,Input,8,Right,F4.0,F4.0
+s1,1,Nominal,Input,8,Right,F4.0,F4.0
+s2,2,Nominal,Input,8,Right,F4.0,F4.0
ROWTYPE_,3,Nominal,Input,8,Left,A8,A8
VARNAME_,4,Nominal,Input,8,Left,A8,A8
var01,5,Scale,Input,8,Right,F10.4,F10.4
])
AT_CLEANUP
+AT_SETUP([MATRIX DATA - factors and splits])
+AT_DATA([matrix-data.sps], [dnl
+matrix data
+ variables = s f rowtype_ var01 var02 var03
+ /split=s
+ /factor=f.
+
+begin data
+8 0 mean 21.4 5.0 72.9
+8 0 sd 6.5 1.6 22.8
+8 0 n 106 106 106
+8 . corr 1
+8 . corr .41 1
+8 . corr -.16 -.22 1
+9 1 mean 11.4 1.0 52.9
+9 1 sd 9.5 8.6 12.8
+9 1 n 10 11 12
+9 . corr 1
+9 . corr .51 1
+9 . corr .36 -.41 1
+end data.
+
+display dictionary.
+
+list.
+])
+AT_CHECK([pspp matrix-data.sps -O format=csv], [0], [dnl
+Table: Variables
+Name,Position,Measurement Level,Role,Width,Alignment,Print Format,Write Format
+s,1,Nominal,Input,8,Right,F4.0,F4.0
+ROWTYPE_,2,Nominal,Input,8,Left,A8,A8
+f,3,Nominal,Input,8,Right,F4.0,F4.0
+VARNAME_,4,Nominal,Input,8,Left,A8,A8
+var01,5,Scale,Input,8,Right,F10.4,F10.4
+var02,6,Scale,Input,8,Right,F10.4,F10.4
+var03,7,Scale,Input,8,Right,F10.4,F10.4
+
+Table: Split Values
+Variable,Value
+s,8
+
+Table: Data List
+s,ROWTYPE_,f,VARNAME_,var01,var02,var03
+8,MEAN,0,,21.4000,5.0000,72.9000
+8,STDDEV,0,,6.5000,1.6000,22.8000
+8,N,0,,106.0000,106.0000,106.0000
+8,CORR,.,var01,1.0000,.4100,-.1600
+8,CORR,.,var02,.4100,1.0000,-.2200
+8,CORR,.,var03,-.1600,-.2200,1.0000
+
+Table: Split Values
+Variable,Value
+s,9
+
+Table: Data List
+s,ROWTYPE_,f,VARNAME_,var01,var02,var03
+9,MEAN,1,,11.4000,1.0000,52.9000
+9,STDDEV,1,,9.5000,8.6000,12.8000
+9,N,1,,10.0000,11.0000,12.0000
+9,CORR,.,var01,1.0000,.5100,.3600
+9,CORR,.,var02,.5100,1.0000,-.4100
+9,CORR,.,var03,.3600,-.4100,1.0000
+])
+AT_CLEANUP
+
AT_SETUP([MATRIX DATA - bad ROWTYPE_])
AT_DATA([matrix-data.sps], [dnl
matrix data
MATRIX DATA VARIABLES=v/XYZZY.
])
AT_CHECK([pspp matrix-data.sps -O format=csv], [1], [dnl
-matrix-data.sps:1: error: MATRIX DATA: VARIABLES may not include VARNAME_.
+"matrix-data.sps:1.23-1.36: error: MATRIX DATA: VARIABLES may not include VARNAME_.
+ 1 | MATRIX DATA VARIABLES=var01 varname_.
+ | ^~~~~~~~~~~~~~"
-matrix-data.sps:2: error: MATRIX DATA: Variable v appears twice in variable list.
+"matrix-data.sps:2.25: error: MATRIX DATA: Variable v appears twice in variable list.
+ 2 | MATRIX DATA VARIABLES=v v v.
+ | ^"
-matrix-data.sps:3: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+"matrix-data.sps:3.47-3.54: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+ 3 | MATRIX DATA VARIABLES=rowtype_ v1 v2 v3/SPLIT=rowtype_.
+ | ^~~~~~~~"
-matrix-data.sps:4: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+"matrix-data.sps:4.49-4.56: error: MATRIX DATA: ROWTYPE_ is not allowed on SPLIT or FACTORS.
+ 4 | MATRIX DATA VARIABLES=rowtype_ v1 v2 v3/FACTORS=rowtype_.
+ | ^~~~~~~~"
-matrix-data.sps:5: error: MATRIX DATA: v1 may not appear on both SPLIT and FACTORS.
+"matrix-data.sps:5.61-5.62: error: MATRIX DATA: v1 may not appear on both SPLIT and FACTORS.
+ 5 | MATRIX DATA VARIABLES=rowtype_ s1 v1 v2 v3/SPLIT=v1/FACTORS=v1.
+ | ^~"
-matrix-data.sps:7: error: MATRIX DATA: FORMAT=FULL and FORMAT=NODIAGONAL are mutually exclusive.
+"matrix-data.sps:7.32-7.53: error: MATRIX DATA: FORMAT=FULL and FORMAT=NODIAGONAL are mutually exclusive.
+ 7 | MATRIX DATA VARIABLES=v1 v2 v3/FORMAT=FULL NODIAGONAL.
+ | ^~~~~~~~~~~~~~~~~~~~~~"
matrix-data.sps:8: error: MATRIX DATA: CELLS is required when factor variables are specified and VARIABLES does not include ROWTYPE_.
matrix-data.sps:12: error: MATRIX DATA: CELLS is required when factor variables are specified and VARIABLES does not include ROWTYPE_.
-matrix-data.sps:13: error: MATRIX DATA: VARIABLES includes ROWTYPE_ but the continuous variables are not the last ones on VARIABLES.
+"matrix-data.sps:13.13-13.39: error: MATRIX DATA: VARIABLES includes ROWTYPE_ but the continuous variables are not the last ones on VARIABLES.
+ 13 | MATRIX DATA VARIABLES=v1 v2 v3 ROWTYPE_.
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~"
-matrix-data.sps:14: error: MATRIX DATA: Cannot specify N on CONTENTS along with the N subcommand.
+"matrix-data.sps:14.43-14.45: error: MATRIX DATA: Cannot specify N on CONTENTS along with the N subcommand.
+ 14 | MATRIX DATA VARIABLES=v1 v2 v3/CONTENTS=N/N=5.
+ | ^~~"
-matrix-data.sps:15.35-15.39: error: MATRIX DATA: Syntax error at `XYZZY': Row type keyword expected.
+"matrix-data.sps:15.35-15.39: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+ 15 | MATRIX DATA VARIABLES=v1/CONTENTS=XYZZY.
+ | ^~~~~"
-matrix-data.sps:16.36: error: MATRIX DATA: Syntax error at end of command: Row type keyword expected.
+"matrix-data.sps:16.36: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+ 16 | MATRIX DATA VARIABLES=v1/CONTENTS=@{:@.
+ | ^"
-matrix-data.sps:17.40: error: MATRIX DATA: Syntax error at end of command: Row type keyword expected.
+"matrix-data.sps:17.40: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+ 17 | MATRIX DATA VARIABLES=v1/CONTENTS=@{:@CORR.
+ | ^"
-matrix-data.sps:18.35: error: MATRIX DATA: Syntax error at `)': Row type keyword expected.
+"matrix-data.sps:18.35: error: MATRIX DATA: Syntax error expecting one of the following: CORR, COV, MAT, N_MATRIX, PROX, COUNT, DFE, MEAN, MSE, STDDEV, N, N_SCALAR, N_VECTOR, SD.
+ 18 | MATRIX DATA VARIABLES=v1/CONTENTS=@:}@.
+ | ^"
-matrix-data.sps:19.12: error: MATRIX DATA: Syntax error at end of command: expecting VARIABLES.
+"matrix-data.sps:19.12: error: MATRIX DATA: Syntax error expecting VARIABLES.
+ 19 | MATRIX DATA.
+ | ^"
-matrix-data.sps:20.24: error: MATRIX DATA: Syntax error at `*': expecting `/'.
+"matrix-data.sps:20.24: error: MATRIX DATA: Syntax error expecting `/'.
+ 20 | MATRIX DATA VARIABLES=v*.
+ | ^"
-matrix-data.sps:21.27-21.28: error: MATRIX DATA: Syntax error at `-1': Expected non-negative integer for N.
+"matrix-data.sps:21.27-21.28: error: MATRIX DATA: Syntax error expecting non-negative integer for N.
+ 21 | MATRIX DATA VARIABLES=v/N=-1.
+ | ^~"
-matrix-data.sps:22.32-22.36: error: MATRIX DATA: Syntax error at `XYZZY'.
+"matrix-data.sps:22.32-22.36: error: MATRIX DATA: Syntax error.
+ 22 | MATRIX DATA VARIABLES=v/FORMAT=XYZZY.
+ | ^~~~~"
-matrix-data.sps:23.30-23.32: error: MATRIX DATA: Syntax error at `123': expecting a file name or handle name.
+"matrix-data.sps:23.30-23.32: error: MATRIX DATA: Syntax error expecting a file name or handle name.
+ 23 | MATRIX DATA VARIABLES=v/FILE=123.
+ | ^~~"
-matrix-data.sps:24.31-24.33: error: MATRIX DATA: Syntax error at `123': expecting variable name.
+"matrix-data.sps:24.31-24.33: error: MATRIX DATA: Syntax error expecting variable name.
+ 24 | MATRIX DATA VARIABLES=v/SPLIT=123.
+ | ^~~"
-matrix-data.sps:25.31-25.32: error: MATRIX DATA: Syntax error at `-1': Expected non-negative integer for CELLS.
+"matrix-data.sps:25.31-25.32: error: MATRIX DATA: Syntax error expecting non-negative integer for CELLS.
+ 25 | MATRIX DATA VARIABLES=v/CELLS=-1.
+ | ^~"
-matrix-data.sps:26.25-26.29: error: MATRIX DATA: Syntax error at `XYZZY'.
+"matrix-data.sps:26.25-26.29: error: MATRIX DATA: Syntax error.
+ 26 | MATRIX DATA VARIABLES=v/XYZZY.
+ | ^~~~~"
])
AT_CLEANUP