49 self assert:(rslt = '1'). |
51 self assert:(rslt = '1'). |
50 |
52 |
51 self assert:(opQ size == 0). |
53 self assert:(opQ size == 0). |
52 |
54 |
53 p0 := [ |
55 p0 := [ |
54 opQ scheduleOperation:[ Delay waitForSeconds:1.]. |
56 opQ scheduleOperation:[ Delay waitForSeconds:3.]. |
55 ] fork. |
57 ] fork. |
56 |
58 |
57 p1 := [ |
59 p1 := [ |
58 rslt1 := opQ scheduleOperation:(val1 := '1'). |
60 rslt1 := opQ scheduleOperation:(val1 := '1'). |
59 ] fork. |
61 ] fork. |
60 |
62 |
61 p2 := [ |
63 p2 := [ |
62 rslt2 := opQ scheduleOperation:(val2 := '2'). |
64 rslt2 := opQ scheduleOperation:(val2 := '2'). |
63 ] fork. |
65 ] fork. |
64 |
66 |
65 p3 := [ |
67 p3 := [ |
66 rslt3 := opQ scheduleOperation:(val3 := '3'). |
68 rslt3 := opQ scheduleOperation:(val3 := '3'). |
67 ] fork. |
69 ] fork. |
68 |
70 |
69 Delay waitForSeconds:0.2. |
71 Delay waitForSeconds:0.5. |
70 self assert:((sz := opQ size) == 3). |
72 self assert:((sz := opQ size) == 3). |
71 |
73 |
72 p1b := [ |
74 p1b := [ |
73 rslt1b := opQ scheduleOperation:(val1b := '1'). |
75 rslt1b := opQ scheduleOperation:(val1b := '1'). |
74 ] fork. |
76 ] fork. |
75 |
77 |
76 p2b := [ |
78 p2b := [ |
77 rslt2b := opQ scheduleOperation:(val2b := '2'). |
79 rslt2b := opQ scheduleOperation:(val2b := '2'). |
78 ] fork. |
80 ] fork. |
79 |
81 |
80 p3b := [ |
82 p3b := [ |
81 rslt3b := opQ scheduleOperation:(val3b := '3'). |
83 rslt3b := opQ scheduleOperation:(val3b := '3'). |
82 ] fork. |
84 ] fork. |
83 |
85 |
84 Delay waitForSeconds:0.1. |
86 Delay waitForSeconds:0.5. |
85 self assert:(opQ size == 3). |
87 self assert:(opQ size == 3). |
86 |
88 |
87 Delay waitForSeconds:2. |
89 Delay waitForSeconds:3. |
88 self assert:((sz := opQ size) == 0). |
90 self assert:((sz := opQ size) == 0). |
89 |
91 |
90 self assert:(val1 == rslt1). |
92 self assert:(val1 == rslt1). |
91 self assert:(val2 == rslt2). |
93 self assert:(val2 == rslt2). |
92 self assert:(val3 == rslt3). |
94 self assert:(val3 == rslt3). |