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 <http://www.gnu.org/licenses/>.
dnl
AT_BANNER([FLIP command])

AT_SETUP([FLIP with NEWNAMES])
AT_DATA([flip.sps], [dnl
data list notable /N 1 (a) a b c d 2-9.
list.
begin data.
v 1 2 3 4 5
w 6 7 8 910
x1112131415
y1617181920
z2122232425
end data.
temporary.
compute e = a.
flip newnames=n.
list.
flip.
list.
])
AT_CHECK([pspp -O format=csv flip.sps], [0], [dnl
Table: Data List
N,a,b,c,d
v,1,2,3,4
w,6,7,8,9
x,11,12,13,14
y,16,17,18,19
z,21,22,23,24

"flip.sps:12.1-12.4: warning: FLIP: FLIP ignores TEMPORARY.  Temporary transformations will be made permanent.
   12 | flip newnames=n.
      | ^~~~"

Table: Data List
CASE_LBL,v,w,x,y,z
a,1.00,6.00,11.00,16.00,21.00
b,2.00,7.00,12.00,17.00,22.00
c,3.00,8.00,13.00,18.00,23.00
d,4.00,9.00,14.00,19.00,24.00
e,1.00,6.00,11.00,16.00,21.00

Table: Data List
CASE_LBL,a,b,c,d,e
v,1.00,2.00,3.00,4.00,1.00
w,6.00,7.00,8.00,9.00,6.00
x,11.00,12.00,13.00,14.00,11.00
y,16.00,17.00,18.00,19.00,16.00
z,21.00,22.00,23.00,24.00,21.00
])
AT_CLEANUP

AT_SETUP([FLIP without NEWNAMES])
AT_DATA([flip.sps], [dnl
data list list notable /v1 to v10.
format all(f2).
begin data.
1 2 3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 11 12 13
end data.

list.

flip.
list.
])
AT_CHECK([pspp -O format=csv flip.sps], [0], [dnl
Table: Data List
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
1,2,3,4,5,6,7,8,9,10
4,5,6,7,8,9,10,11,12,13

Table: Data List
CASE_LBL,VAR000,VAR001
v1,1.00,4.00
v2,2.00,5.00
v3,3.00,6.00
v4,4.00,7.00
v5,5.00,8.00
v6,6.00,9.00
v7,7.00,10.00
v8,8.00,11.00
v9,9.00,12.00
v10,10.00,13.00
])
AT_CLEANUP




AT_SETUP([FLIP badly formed])

AT_DATA([flip.sps], [dnl
data list notable /N 1 (a) a b c d 2-9.

flip newnames=n.
list.
flip.
])

AT_CHECK([pspp -O format=csv flip.sps], [1], [ignore])

AT_CLEANUP



AT_SETUP([FLIP with invalid variable names])

AT_DATA([flip.sps], [dnl
data list notable list /N (a3) a b c d *.
begin data.
""   1  2  3  4
BY   1  2  3  4
end data.

flip newnames=n.

list.
])

AT_CHECK([pspp -O format=csv flip.sps], [0], [dnl
Table: Data List
CASE_LBL,v,BY1
a,1.00,1.00
b,2.00,2.00
c,3.00,3.00
d,4.00,4.00
])

AT_CLEANUP
