add wraparound support to C2 physics
[openc2e.git] / unittests / flow.cos
blob764779d4f417d6bb176a5010b0ece62d2ce541c1
1 * unit tests for the non-ifblock flow stuff 
2 * fuzzie, 06/06/04
4 DBG: OUTS "# Flow control"
5 DBG: OUTS "1..8"
7 * test LOOP .. UNTL
8 SETV VA00 0
9 LOOP
10  ADDV VA00 1
11 UNTL VA00 eq 3
12 DOIF VA00 eq 3
13  DBG: OUTS "ok 1 - LOOP .. UNTL"
14 ELSE
15  DBG: OUTS "not ok 1 - LOOP .. UNTL"
16 ENDI
18 * test LOOP .. EVER
19 SETS VA00 CAOS 1 0 0 0 "SETV VA00 3 LOOP DOIF VA00 EQ 0 STOP ENDI OUTV VA00 SUBV VA00 1 EVER" 0 0 VA01
20 DOIF VA00 EQ "321"
21         DBG: OUTS "ok 2 - LOOP .. EVER"
22 ELSE
23         DBG: OUTS "not ok 2 - LOOP .. EVER"
24 ENDI
26 * test REPS .. REPE
27 SETV VA00 0
28 SETV VA01 4
29 REPS VA01
30  SETV VA01 0
31  ADDV VA00 1
32 REPE
33 DOIF VA00 eq 4
34  DBG: OUTS "ok 3 - REPS .. REPE"
35 ELSE
36  DBG: OUTS "not ok 3 - REPS .. REPE"
37 ENDI
39 * test GSUB
40 SETV VA00 0
41 GSUB test
42 DOIF VA00 eq 1
43  DBG: OUTS "ok 4 - GSUB"
44 ELSE
45  DBG: OUTS "not ok 4 - GSUB"
46 ENDI
48 * GSUB loops
49 SETV VA00 5
50 REPS 4
51   GSUB t2
52 REPE
54 * for GSUB test
55 SUBR test
56  SETV VA00 1
57 RETN
59 SUBR t2
60  SETS va01 "ok "
61  ADDS va01 VTOS va00
62  ADDS va01 " - GSUB iteration"
63  DBG: OUTS va01
65  ADDV VA00 1
66 RETN