Nicolas Cellier uploaded a new version of CollectionsTests to project The Trunk: http://source.squeak.org/trunk/CollectionsTests-nice.218.mcz
==================== Summary ====================
Name: CollectionsTests-nice.218 Author: nice Time: 25 May 2014, 11:46:20.057 pm UUID: 09e9444f-318a-4c31-9ba9-139ee94fb3e0 Ancestors: CollectionsTests-nice.217
Fix a test that did not work anymore after change of Fraction>>hash
=============== Diff against CollectionsTests-nice.217 ===============
Item was changed: ----- Method: WeakSetTest>>testCollisions (in category 'testing') ----- testCollisions
| ws o1 o2 o5 on remember forget |
"create a weak set" ws := WeakSet new: 15. "select some fractions wanting same place in ws array" + o1 := (2 to: 200) select: [:i | (ws scanFor: 1 / i) = 1]. + o2 := (2 to: 200) select: [:i | (ws scanFor: 1 / i) = 2]. + o5 := (2 to: 200) select: [:i | (ws scanFor: 1 / i) = 5]. + on := (2 to: 200) select: [:i | (ws scanFor: 1 / i) = (ws array size - 1)]. - o1 := (2 to: 100) select: [:i | (ws scanFor: 1 / i) = 1]. - o2 := (2 to: 100) select: [:i | (ws scanFor: 1 / i) = 2]. - o5 := (2 to: 100) select: [:i | (ws scanFor: 1 / i) = 5]. - on := (2 to: 100) select: [:i | (ws scanFor: 1 / i) = (ws array size - 1)]. "Add some fractions to the weak set, and remember a pointer for a few of them" remember := OrderedCollection new. forget := OrderedCollection new. ws add: (remember add: 1 / o1 first). ws add: (forget add: 1 / on second). ws add: (forget add: 1 / o1 second). ws add: (forget add: 1 / o5 second). ws add: (forget add: 1 / o2 second). ws add: (forget add: 1 / o1 third). ws add: (remember add: 1 / o2 first). ws add: (forget add: 1 / o5 third). ws add: (forget add: 1 / on third). ws add: (remember add: 1 / o2 fourth). ws add: (remember add: 1 / on first). ws add: (remember add: 1 / o5 first). "forget and reclaim all entries but those in remember" forget := nil. Smalltalk garbageCollect. remember do: [:m | self assert: (ws includes: m)]. ws add: 1/on second. remember do: [:m | self assert: (ws includes: m)]. ws add: (remember add: 1 / o1 fourth). ws add: (remember add: 1 / on fourth). remember remove: (ws remove: (1 / o5 first)). remember remove: (ws remove: (1 / on first)). remember remove: (ws remove: (1 / o2 first)). remember remove: (ws remove: (1 / o1 first)). remember do: [:m | self assert: (ws includes: m)]. ws add: 1/on second. ws add: 1/o5 second. remember do: [:m | self assert: (ws includes: m)]. !
packages@lists.squeakfoundation.org