author | Patrik Svestka <patrik.svestka@gmail.com> |
Fri, 19 Feb 2021 13:58:24 +0100 | |
branch | jv |
changeset 2603 | 6ac9ae0a4987 |
parent 1567 | e17701a073f9 |
permissions | -rwxr-xr-x |
1447 | 1 |
"{ Package: 'stx:goodies/regression' }" |
92 | 2 |
|
95 | 3 |
"{ NameSpace: RegressionTests }" |
4 |
||
92 | 5 |
TestCase subclass:#OperationInQueueTests |
6 |
instanceVariableNames:'' |
|
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
181 | 9 |
category:'tests-Regression' |
92 | 10 |
! |
11 |
||
12 |
||
13 |
!OperationInQueueTests methodsFor:'tests'! |
|
14 |
||
15 |
test1 |
|
16 |
|op opQ rslt| |
|
17 |
||
18 |
opQ := OperationQueue new. |
|
19 |
||
20 |
op := [ 1 + 2 ]. |
|
21 |
||
22 |
rslt := opQ scheduleOperation:op. |
|
23 |
||
24 |
self assert:(rslt == 3) |
|
25 |
! |
|
26 |
||
27 |
test2 |
|
28 |
|op opQ rslt| |
|
29 |
||
30 |
opQ := OperationQueue new. |
|
31 |
||
32 |
op := 1. |
|
33 |
||
34 |
rslt := opQ scheduleOperation:op. |
|
35 |
||
36 |
self assert:(rslt == 1) |
|
37 |
! |
|
38 |
||
39 |
test3 |
|
1447 | 40 |
|op opQ val1 val2 val3 val1b val2b val3b |
92 | 41 |
rslt rslt1 rslt2 rslt3 p0 p1 p2 p3 rslt1b rslt2b rslt3b p1b p2b p3b sz| |
42 |
||
43 |
opQ := OperationQueue new. |
|
44 |
opQ consumerProcessPriority:8. |
|
45 |
||
46 |
op := '1'. |
|
47 |
rslt := opQ scheduleOperation:op. |
|
48 |
||
49 |
self assert:(rslt = '1'). |
|
50 |
||
51 |
self assert:(opQ size == 0). |
|
52 |
||
53 |
p0 := [ |
|
95 | 54 |
opQ scheduleOperation:[ Delay waitForSeconds:1.]. |
92 | 55 |
] fork. |
56 |
||
57 |
p1 := [ |
|
95 | 58 |
rslt1 := opQ scheduleOperation:(val1 := '1'). |
92 | 59 |
] fork. |
60 |
||
61 |
p2 := [ |
|
95 | 62 |
rslt2 := opQ scheduleOperation:(val2 := '2'). |
92 | 63 |
] fork. |
64 |
||
65 |
p3 := [ |
|
95 | 66 |
rslt3 := opQ scheduleOperation:(val3 := '3'). |
92 | 67 |
] fork. |
68 |
||
69 |
Delay waitForSeconds:0.2. |
|
70 |
self assert:((sz := opQ size) == 3). |
|
71 |
||
72 |
p1b := [ |
|
95 | 73 |
rslt1b := opQ scheduleOperation:(val1b := '1'). |
92 | 74 |
] fork. |
75 |
||
76 |
p2b := [ |
|
95 | 77 |
rslt2b := opQ scheduleOperation:(val2b := '2'). |
92 | 78 |
] fork. |
79 |
||
80 |
p3b := [ |
|
95 | 81 |
rslt3b := opQ scheduleOperation:(val3b := '3'). |
92 | 82 |
] fork. |
83 |
||
84 |
Delay waitForSeconds:0.1. |
|
85 |
self assert:(opQ size == 3). |
|
86 |
||
93 | 87 |
Delay waitForSeconds:2. |
92 | 88 |
self assert:((sz := opQ size) == 0). |
89 |
||
90 |
self assert:(val1 == rslt1). |
|
91 |
self assert:(val2 == rslt2). |
|
92 |
self assert:(val3 == rslt3). |
|
93 |
self assert:(rslt1 = rslt1b). |
|
94 |
self assert:(rslt2 = rslt2b). |
|
95 |
self assert:(rslt3 = rslt3b). |
|
96 |
self assert:(val1b = rslt1b). |
|
97 |
self assert:(val2b = rslt2b). |
|
98 |
self assert:(val3b = rslt3b). |
|
99 |
! ! |
|
100 |
||
101 |
!OperationInQueueTests class methodsFor:'documentation'! |
|
102 |
||
103 |
version |
|
104 |
^ '$Header$' |
|
105 |
! ! |
|
1567
e17701a073f9
Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1500
diff
changeset
|
106 |