reshuffle tests a bit, add recycle-expire
[fleet.git] / tests / choice / demux-test.fleet
1 // expected output
2 #skip
3 #expect 2
4 #expect 1
5
6 #expect 1
7 #expect 2
8
9 #expect 1
10 #expect 1
11 #expect 2
12
13 #expect 2
14 #expect 2
15 #expect 1
16
17 #expect 2
18 #expect 1
19 #expect 1
20
21 #expect 1
22 #expect 2
23 #expect 2
24
25 // ships required in order to run this code
26 #ship debug        : Debug
27 #ship fifo         : Fifo
28 #ship fifo1        : Fifo
29 #ship fifo2        : Fifo
30 #ship choice       : Choice
31
32 // alternate values from choice1+choice2
33 choice.out1: [*] take, notify fifo1.out;
34 choice.out2: [*] take, notify fifo2.out;
35 debug.in:    [*] take, deliver, notify fifo.out;
36
37 choice.in1: take; [*] deliver;
38 1:          sendto choice.in1;
39
40 // choice.in2 should never be used (FIXME: test this)
41
42 choice.in:  [*] take, deliver;
43
44 fifo.in: [*] take, deliver;
45
46 0:  sendto fifo.in;
47 1:  sendto fifo.in;
48 0:  sendto fifo.in;
49 1:  sendto fifo.in;
50 -1: sendto fifo.in;
51 0:  sendto fifo.in;
52 1:  sendto fifo.in;
53 -1: sendto fifo.in;
54 0:  sendto fifo.in;
55 1:  sendto fifo.in;
56 -1: sendto fifo.in;
57 0:  sendto fifo.in;
58 1:  sendto fifo.in;
59 -1: sendto fifo.in;
60 0:  sendto fifo.in;
61 1:  sendto fifo.in;
62 fifo.out: [2] wait, take, sendto choice.in.deMuxIfZero;
63 fifo.out: [2] wait, take, sendto choice.in.deMuxIfNonZero;
64 fifo.out: [3] wait, take, sendto choice.in.deMuxIfPositive;
65 fifo.out: [3] wait, take, sendto choice.in.deMuxIfNonPositive;
66 fifo.out: [3] wait, take, sendto choice.in.deMuxIfNegative;
67 fifo.out: [3] wait, take, sendto choice.in.deMuxIfNonNegative;
68 0: sendto fifo.out;
69
70 1: sendto fifo1.in;
71 fifo1.in: take, deliver;
72 fifo1.out: take; [*] wait, sendto debug.in;
73
74 2: sendto fifo2.in;
75 fifo2.in: take, deliver;
76 fifo2.out: take; [*] wait, sendto debug.in;