[squeak-dev] The Trunk: CollectionsTests-eem.342.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Sep 19 20:11:17 UTC 2020
Eliot Miranda uploaded a new version of CollectionsTests to project The Trunk:
http://source.squeak.org/trunk/CollectionsTests-eem.342.mcz
==================== Summary ====================
Name: CollectionsTests-eem.342
Author: eem
Time: 19 September 2020, 1:11:15.902536 pm
UUID: ba823c3b-42f7-4276-8a25-8c59d26a3346
Ancestors: CollectionsTests-ul.341
Refator SHaredQueue2Test so that now we also test SharedQueue. Add a test for peek and peekLast
=============== Diff against CollectionsTests-ul.341 ===============
Item was added:
+ TestCase subclass: #AbstractSharedQueueTest
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'CollectionsTests-Sequenceable'!
Item was added:
+ ----- Method: AbstractSharedQueueTest class>>isAbstract (in category 'testing') -----
+ isAbstract
+ ^self class == thisContext methodClass!
Item was added:
+ ----- Method: AbstractSharedQueueTest>>queueClass (in category 'private') -----
+ queueClass
+ ^self subclassResponsibility!
Item was added:
+ ----- Method: AbstractSharedQueueTest>>testBasics (in category 'tests') -----
+ testBasics
+ | q |
+ q := self queueClass new.
+
+ self assert: nil equals: q nextOrNil.
+
+ q nextPut: 5.
+ self assert: 5 equals: q nextOrNil.
+ self assert: nil equals: q nextOrNil!
Item was added:
+ ----- Method: AbstractSharedQueueTest>>testContention1 (in category 'tests') -----
+ testContention1
+ "here is a test case that breaks the standard SharedQueue from Squeak 3.8"
+
+ | q r1 r2 |
+ q := self queueClass new.
+ q nextPut: 5.
+ q nextPut: 10.
+
+ self assert: 5 equals: q nextOrNil.
+
+ [ r1 := q next ] fork.
+ [ r2 := q next ] fork.
+ Processor yield. "let the above two threads block"
+
+ q nextPut: 10.
+ Processor yield.
+
+ self assert: 10 equals: r1.
+ self assert: 10 equals: r2.
+ self assert: nil equals: q nextOrNil!
Item was added:
+ ----- Method: AbstractSharedQueueTest>>testNextOrNilSuchThat (in category 'tests') -----
+ testNextOrNilSuchThat
+ | q item |
+ q := self queueClass new.
+ q nextPut: 5.
+ q nextPut: 6.
+
+ item := q nextOrNilSuchThat: [ :x | x even ].
+ self assert: 6 equals: item.
+
+ self assert: 5 equals: q nextOrNil.
+ self assert: nil equals: q nextOrNil!
Item was added:
+ ----- Method: AbstractSharedQueueTest>>testPeeks (in category 'tests') -----
+ testPeeks
+ | q |
+ q := self queueClass new.
+
+ self assert: nil equals: q peek.
+ self assert: nil equals: q peekLast.
+
+ q nextPut: #first; nextPut: #last.
+
+ self assert: #first equals: q peek.
+ self assert: #last equals: q peekLast.
+
+ self assert: #first equals: q next.
+
+ self assert: #last equals: q peek.
+ self assert: #last equals: q peekLast!
Item was changed:
+ AbstractSharedQueueTest subclass: #SharedQueue2Test
- TestCase subclass: #SharedQueue2Test
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'CollectionsTests-Sequenceable'!
Item was added:
+ ----- Method: SharedQueue2Test>>queueClass (in category 'private') -----
+ queueClass
+ ^SharedQueue2!
Item was removed:
- ----- Method: SharedQueue2Test>>testBasics (in category 'tests') -----
- testBasics
- | q |
- q := SharedQueue2 new.
-
- self should: [ q nextOrNil = nil ].
-
- q nextPut: 5.
- self should: [ q nextOrNil = 5 ].
- self should: [ q nextOrNil = nil ].
-
- !
Item was removed:
- ----- Method: SharedQueue2Test>>testContention1 (in category 'tests') -----
- testContention1
- "here is a test case that breaks the standard SharedQueue from Squeak 3.8"
-
- | q r1 r2 |
- q := SharedQueue2 new.
- q nextPut: 5.
- q nextPut: 10.
-
- self should: [ q nextOrNil = 5 ].
-
- [ r1 := q next ] fork.
- [ r2 := q next ] fork.
- Processor yield. "let the above two threads block"
-
- q nextPut: 10.
- Processor yield.
-
- self should: [ r1 = 10 ].
- self should: [ r2 = 10 ].
- self should: [ q nextOrNil = nil ].
- !
Item was removed:
- ----- Method: SharedQueue2Test>>testNextOrNilSuchThat (in category 'tests') -----
- testNextOrNilSuchThat
- | q item |
- q := SharedQueue2 new.
- q nextPut: 5.
- q nextPut: 6.
-
- item := q nextOrNilSuchThat: [ :x | x even ].
- self should: [ item = 6 ].
-
- self should: [ q nextOrNil = 5 ].
- self should: [ q nextOrNil = nil ].
- !
Item was added:
+ AbstractSharedQueueTest subclass: #SharedQueueTest
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'CollectionsTests-Sequenceable'!
Item was added:
+ ----- Method: SharedQueueTest>>queueClass (in category 'private') -----
+ queueClass
+ ^SharedQueue!
More information about the Squeak-dev
mailing list
|