RegressionTests__OperationInQueueTests.st
author sr
Fri, 15 Sep 2017 13:24:12 +0200
changeset 1700 0c5fa360fd46
parent 1447 2351db93aa5b
child 1500 d406a10b2965
child 1701 48849326905a
permissions -rw-r--r--
#BUGFIX by sr class: RegressionTests::PTYTest changed: #testPTY1 #testPTY2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
     2
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
     3
"{ NameSpace: RegressionTests }"
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
     4
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
     5
TestCase subclass:#OperationInQueueTests
54539aa534d2 initial checkin
martin
parents:
diff changeset
     6
	instanceVariableNames:''
54539aa534d2 initial checkin
martin
parents:
diff changeset
     7
	classVariableNames:''
54539aa534d2 initial checkin
martin
parents:
diff changeset
     8
	poolDictionaries:''
181
a56517005229 category change
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
     9
	category:'tests-Regression'
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    10
!
54539aa534d2 initial checkin
martin
parents:
diff changeset
    11
54539aa534d2 initial checkin
martin
parents:
diff changeset
    12
54539aa534d2 initial checkin
martin
parents:
diff changeset
    13
!OperationInQueueTests methodsFor:'tests'!
54539aa534d2 initial checkin
martin
parents:
diff changeset
    14
54539aa534d2 initial checkin
martin
parents:
diff changeset
    15
test1
54539aa534d2 initial checkin
martin
parents:
diff changeset
    16
    |op opQ rslt|
54539aa534d2 initial checkin
martin
parents:
diff changeset
    17
54539aa534d2 initial checkin
martin
parents:
diff changeset
    18
    opQ := OperationQueue new.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    19
54539aa534d2 initial checkin
martin
parents:
diff changeset
    20
    op := [ 1 + 2 ].
54539aa534d2 initial checkin
martin
parents:
diff changeset
    21
54539aa534d2 initial checkin
martin
parents:
diff changeset
    22
    rslt := opQ scheduleOperation:op.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    23
54539aa534d2 initial checkin
martin
parents:
diff changeset
    24
    self assert:(rslt == 3)
54539aa534d2 initial checkin
martin
parents:
diff changeset
    25
!
54539aa534d2 initial checkin
martin
parents:
diff changeset
    26
54539aa534d2 initial checkin
martin
parents:
diff changeset
    27
test2
54539aa534d2 initial checkin
martin
parents:
diff changeset
    28
    |op opQ rslt|
54539aa534d2 initial checkin
martin
parents:
diff changeset
    29
54539aa534d2 initial checkin
martin
parents:
diff changeset
    30
    opQ := OperationQueue new.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    31
54539aa534d2 initial checkin
martin
parents:
diff changeset
    32
    op := 1.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    33
54539aa534d2 initial checkin
martin
parents:
diff changeset
    34
    rslt := opQ scheduleOperation:op.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    35
54539aa534d2 initial checkin
martin
parents:
diff changeset
    36
    self assert:(rslt == 1)
54539aa534d2 initial checkin
martin
parents:
diff changeset
    37
!
54539aa534d2 initial checkin
martin
parents:
diff changeset
    38
54539aa534d2 initial checkin
martin
parents:
diff changeset
    39
test3
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    40
    |op opQ val1 val2 val3 val1b val2b val3b
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    41
     rslt rslt1 rslt2 rslt3 p0 p1 p2 p3 rslt1b rslt2b rslt3b p1b p2b p3b sz|
54539aa534d2 initial checkin
martin
parents:
diff changeset
    42
54539aa534d2 initial checkin
martin
parents:
diff changeset
    43
    opQ := OperationQueue new.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    44
    opQ consumerProcessPriority:8.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    45
54539aa534d2 initial checkin
martin
parents:
diff changeset
    46
    op := '1'.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    47
    rslt := opQ scheduleOperation:op.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    48
54539aa534d2 initial checkin
martin
parents:
diff changeset
    49
    self assert:(rslt = '1').
54539aa534d2 initial checkin
martin
parents:
diff changeset
    50
54539aa534d2 initial checkin
martin
parents:
diff changeset
    51
    self assert:(opQ size == 0).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    52
54539aa534d2 initial checkin
martin
parents:
diff changeset
    53
    p0 := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    54
	opQ scheduleOperation:[ Delay waitForSeconds:1.].
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    55
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    56
54539aa534d2 initial checkin
martin
parents:
diff changeset
    57
    p1 := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    58
	rslt1 := opQ scheduleOperation:(val1 := '1').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    59
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    60
54539aa534d2 initial checkin
martin
parents:
diff changeset
    61
    p2 := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    62
	rslt2 := opQ scheduleOperation:(val2 := '2').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    63
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    64
54539aa534d2 initial checkin
martin
parents:
diff changeset
    65
    p3 := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    66
	rslt3 := opQ scheduleOperation:(val3 := '3').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    67
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    68
54539aa534d2 initial checkin
martin
parents:
diff changeset
    69
    Delay waitForSeconds:0.2.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    70
    self assert:((sz := opQ size) == 3).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    71
54539aa534d2 initial checkin
martin
parents:
diff changeset
    72
    p1b := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    73
	rslt1b := opQ scheduleOperation:(val1b := '1').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    74
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    75
54539aa534d2 initial checkin
martin
parents:
diff changeset
    76
    p2b := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    77
	rslt2b := opQ scheduleOperation:(val2b := '2').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    78
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    79
54539aa534d2 initial checkin
martin
parents:
diff changeset
    80
    p3b := [
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 94
diff changeset
    81
	rslt3b := opQ scheduleOperation:(val3b := '3').
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    82
    ] fork.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    83
54539aa534d2 initial checkin
martin
parents:
diff changeset
    84
    Delay waitForSeconds:0.1.
54539aa534d2 initial checkin
martin
parents:
diff changeset
    85
    self assert:(opQ size == 3).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    86
93
279767b54a51 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 92
diff changeset
    87
    Delay waitForSeconds:2.
92
54539aa534d2 initial checkin
martin
parents:
diff changeset
    88
    self assert:((sz := opQ size) == 0).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    89
54539aa534d2 initial checkin
martin
parents:
diff changeset
    90
    self assert:(val1 == rslt1).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    91
    self assert:(val2 == rslt2).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    92
    self assert:(val3 == rslt3).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    93
    self assert:(rslt1 = rslt1b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    94
    self assert:(rslt2 = rslt2b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    95
    self assert:(rslt3 = rslt3b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    96
    self assert:(val1b = rslt1b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    97
    self assert:(val2b = rslt2b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    98
    self assert:(val3b = rslt3b).
54539aa534d2 initial checkin
martin
parents:
diff changeset
    99
! !
54539aa534d2 initial checkin
martin
parents:
diff changeset
   100
54539aa534d2 initial checkin
martin
parents:
diff changeset
   101
!OperationInQueueTests class methodsFor:'documentation'!
54539aa534d2 initial checkin
martin
parents:
diff changeset
   102
54539aa534d2 initial checkin
martin
parents:
diff changeset
   103
version
54539aa534d2 initial checkin
martin
parents:
diff changeset
   104
    ^ '$Header$'
54539aa534d2 initial checkin
martin
parents:
diff changeset
   105
! !