RegressionTests__QueueTest.st
author Claus Gittinger <cg@exept.de>
Tue, 26 Nov 2002 10:03:19 +0100
changeset 171 21c0c65568af
child 181 a56517005229
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
171
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#QueueTest
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'Tests-Regression'
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!QueueTest methodsFor:'Testing'!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
testBasic1
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    |q el|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    q := Queue new:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    q nextPut:1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    self assert:q notEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    self assert:q size == 1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    q nextPut:2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    self assert:q notEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
    self assert:q size == 2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    self assert:q notEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
    self assert:q size == 1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    self assert:(el==1).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
    self assert:(el==2).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
     self new testBasic1 
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
testBasic2
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    |q el|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    q := Queue new:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    q nextPut:1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    q nextPut:2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    q nextPut:3.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    q nextPut:4.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    q nextPut:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    self assert:(el==1).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    self assert:(el==2).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    self assert:(el==3).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    self assert:(el==4).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    self assert:(el==5).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
     self new testBasic2 
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
testBasic3
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    |q el|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    q := Queue new:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    q nextPut:1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    q nextPut:2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    q nextPut:3.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    q nextPut:4.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    q nextPut:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    self should:[q nextPut:6] raise:Error.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    self assert:(el==1).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    self assert:(el==2).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    self assert:(el==3).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    self assert:(el==4).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    self assert:(el==5).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
     self new testBasic3 
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
testBasic4
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    |q el|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    q := Queue new:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    q nextPut:1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    q nextPutFirst:2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    q nextPutFirst:3.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    q nextPutFirst:4.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    q nextPutFirst:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    self should:[q nextPutFirst:6] raise:Error.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    self assert:(el==5).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    self assert:(el==4).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    self assert:(el==3).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    self assert:(el==2).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    self assert:(el==1).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
     self new testBasic4 
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
testBasic5
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    |q el|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    q := Queue new:5.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    self assert:q size == 0.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    q nextPutFirst:1.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    q nextPutFirst:2.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    q nextPutFirst:3.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    self assert:(el==3).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    self assert:(el==2).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    el := q next.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    self assert:(el==1).
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
     self new testBasic5 
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    "
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
testRemoveAll
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    0 to:10 do:[:i|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        self removeAllSize:10 fill:i.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    ].
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
! !
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!QueueTest methodsFor:'helpers'!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
removeAllSize:size fill:fill
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    |q|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    q := Queue new:size.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    1 to:fill do:[:i|
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	q nextPut:i.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    ].
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    q removeAll.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    self assert:q isEmpty.
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
! !
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!QueueTest class methodsFor:'documentation'!
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
version
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    ^ '$Header$'
21c0c65568af initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
! !