equal
deleted
inserted
replaced
1 "{ Package: 'exept:regression' }" |
1 "{ Package: 'stx:goodies/regression' }" |
2 |
2 |
3 "{ NameSpace: RegressionTests }" |
3 "{ NameSpace: RegressionTests }" |
4 |
4 |
5 TestCase subclass:#WeakCollectionTest |
5 TestCase subclass:#WeakCollectionTest |
6 instanceVariableNames:'' |
6 instanceVariableNames:'' |
46 ObjectMemory finalize. |
46 ObjectMemory finalize. |
47 |
47 |
48 self assert:(w size == 2). |
48 self assert:(w size == 2). |
49 |
49 |
50 o1 := nil. |
50 o1 := nil. |
51 |
51 |
52 ObjectMemory garbageCollect. |
52 ObjectMemory garbageCollect. |
53 ObjectMemory finalize. |
53 ObjectMemory finalize. |
54 |
54 |
55 self assert:(w size == 1). |
55 self assert:(w size == 1). |
56 |
56 |
80 ObjectMemory finalize. |
80 ObjectMemory finalize. |
81 |
81 |
82 self assert:(w size == 2). |
82 self assert:(w size == 2). |
83 |
83 |
84 o1 := nil. |
84 o1 := nil. |
85 |
85 |
86 ObjectMemory garbageCollect. |
86 ObjectMemory garbageCollect. |
87 ObjectMemory finalize. |
87 ObjectMemory finalize. |
88 |
88 |
89 self assert:(w size == 1). |
89 self assert:(w size == 1). |
90 |
90 |
106 n := 10000. |
106 n := 10000. |
107 |
107 |
108 ww := WeakValueDictionary new. |
108 ww := WeakValueDictionary new. |
109 |
109 |
110 1 "100" timesRepeat:[ |
110 1 "100" timesRepeat:[ |
111 (1 to:n) do:[:idx | |
111 (1 to:n) do:[:idx | |
112 |k v| |
112 |k v| |
113 |
113 |
114 k := 'k_' , idx printString , '_12345678901234567890'. |
114 k := 'k_' , idx printString , '_12345678901234567890'. |
115 v := 'v_' , idx printString , '_12345678901234567890'. |
115 v := 'v_' , idx printString , '_12345678901234567890'. |
116 ww at:k put:v. |
116 ww at:k put:v. |
117 k := v := nil. |
117 k := v := nil. |
118 ]. |
118 ]. |
119 |
119 |
120 ObjectMemory garbageCollect. |
120 ObjectMemory garbageCollect. |
121 |
121 |
122 1 to:n do:[:idx | |
122 1 to:n do:[:idx | |
123 |k v| |
123 |k v| |
124 |
124 |
125 k := 'k_' , idx printString , '_12345678901234567890'. |
125 k := 'k_' , idx printString , '_12345678901234567890'. |
126 v := ww at:k ifAbsent:nil. |
126 v := ww at:k ifAbsent:nil. |
127 self assert:v isNil. |
127 self assert:v isNil. |
128 ]. |
128 ]. |
129 ]. |
129 ]. |
130 |
130 |
131 " |
131 " |
132 self run:#testWeakValueDictionary1 |
132 self run:#testWeakValueDictionary1 |
133 " |
133 " |