@@ -268,6 +268,47 @@ CTQueueTest >> testEnqueueSingleElement [
268268 self assert: queue front equals: ' first'
269269]
270270
271+ { #category : ' tests' }
272+ CTQueueTest >> testEnqueueUnlessAdds [
273+ queue enqueue: 1 unless: [ :v | (v rem: 2 ) = 0 ].
274+ self assert: (queue includes: 1 ).
275+ self assert: queue size equals: 1 .
276+
277+ queue enqueue: 2 unless: [ :v | (v rem: 2 ) = 0 ].
278+ self assert: (queue includes: 1 ).
279+ self assert: (queue includes: 2 ).
280+ self assert: queue size equals: 2 .
281+ ]
282+
283+ { #category : ' tests' }
284+ CTQueueTest >> testEnqueueUnlessIgnores [
285+ queue enqueue: 1 unless: [ :v | (v rem: 2 ) = 0 ].
286+ queue enqueue: 2 unless: [ :v | (v rem: 2 ) = 0 ].
287+
288+ queue enqueue: 4 unless: [ :v | (v rem: 2 ) = 0 ].
289+ self assert: (queue includes: 1 ).
290+ self assert: (queue includes: 2 ).
291+ self assert: queue size equals: 2 .
292+
293+ queue enqueue: 3 unless: [ :v | (v rem: 2 ) = 0 ].
294+ self assert: (queue includes: 1 ).
295+ self assert: (queue includes: 2 ).
296+ self assert: queue size equals: 2 .
297+ ]
298+
299+ { #category : ' tests' }
300+ CTQueueTest >> testEquality [
301+ | q1 q2 |
302+ q1 := CTQueue new .
303+ q2 := CTQueue new .
304+
305+ q1 enqueue: ' A' ; enqueue: ' B' .
306+ q2 enqueue: ' A' ; enqueue: ' B' .
307+
308+ self assert: q1 equals: q2.
309+ self assert: q1 hash equals: q2 hash.
310+ ]
311+
271312{ #category : ' tests' }
272313CTQueueTest >> testErrorHandling [
273314
@@ -421,22 +462,3 @@ CTQueueTest >> testSize [
421462 queue dequeue.
422463 self assert: queue size equals: 2
423464]
424-
425- { #category : ' tests' }
426- CTQueueTest >> testEnqueueUnless [
427- queue enqueue: 1 unless: [ :v | (v rem: 2 ) = 0 ].
428- self assert: (queue includes: 1 ).
429- self assert: queue size equals: 1 .
430- queue enqueue: 2 unless: [ :v | (v rem: 2 ) = 0 ].
431- self assert: (queue includes: 1 ).
432- self assert: (queue includes: 2 ) .
433- self assert: queue size equals: 2 .
434- queue enqueue: 4 unless: [ :v | (v rem: 2 ) = 0 ].
435- self assert: (queue includes: 1 ).
436- self assert: (queue includes: 2 ) .
437- self assert: queue size equals: 2 .
438- queue enqueue: 3 unless: [ :v | (v rem: 2 ) = 0 ].
439- self assert: (queue includes: 1 ).
440- self assert: (queue includes: 2 ) .
441- self assert: queue size equals: 2
442- ]
0 commit comments