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