41ccf21043f3ff5d7f7df431b9420563149f227b
[pspp] / update.at
1 m4_define([CHECK_UPDATE],
2   [AT_SETUP([UPDATE $1 with $2])
3    AT_DATA([a.data], [dnl
4 1aB
5 8aM
6 3aE
7 5aG
8 0aA
9 5aH
10 6aI
11 7aJ
12 2aD
13 7aK
14 1aC
15 7aL
16 4aF
17 ])
18    AT_DATA([b.data], [dnl
19 1bN
20 3 O
21 4bP
22 6bQ
23 7bR
24 9bS
25 ])
26    m4_if([$1], [sav],
27      [AT_DATA([save-a.sps], [dnl
28 DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).
29 SAVE OUTFILE='a.sav'.
30 ])
31       AT_CHECK([pspp -O format=csv save-a.sps])])
32    m4_if([$2], [sav],
33      [AT_DATA([save-b.sps], [dnl
34 DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).
35 SAVE OUTFILE='b.sav'.
36 ])
37       AT_CHECK([pspp -O format=csv save-b.sps])])
38    AT_DATA([update.sps], [dnl
39 m4_if([$1], [sav], [], [DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).])
40 m4_if([$2], [sav], [], [DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).])
41 UPDATE
42     m4_if([$1], [sav], [FILE='a.sav'], [FILE=*]) /IN=InA /SORT
43     m4_if([$2], [sav], [FILE='b.sav'], [FILE=*]) /IN=InB /RENAME c=d
44     BY a.
45 LIST.
46 ])
47    cat update.sps
48    AT_CHECK([pspp -O format=csv update.sps], [0], [dnl
49 update.sps:6: warning: UPDATE: Encountered 3 sets of duplicate cases in the master file.
50
51 Table: Data List
52 a,b,c,d,InA,InB
53 0,a,A,,1,0
54 1,b,B,N,1,1
55 1,a,C,,1,0
56 2,a,D,,1,0
57 3,a,E,O,1,1
58 4,b,F,P,1,1
59 5,a,G,,1,0
60 5,a,H,,1,0
61 6,b,I,Q,1,1
62 7,b,J,R,1,1
63 7,a,K,,1,0
64 7,a,L,,1,0
65 8,a,M,,1,0
66 9,b,,S,0,1
67 ])
68 AT_CLEANUP
69 ])
70
71 AT_BANNER([UPDATE])
72
73 CHECK_UPDATE([sav], [sav])
74 CHECK_UPDATE([sav], [inline])
75 CHECK_UPDATE([inline], [sav])