| 
					
				 | 
			
			
				@@ -1935,6 +1935,119 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IndexableCollectionTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "testAtIfPresent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'tests', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var visited,sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1,$4,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sentinel=_st($Object())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._nonIndexesDo_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["collection"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($2)._at_ifPresent_(each,(function(value1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=value1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({value1:value1},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["at:ifPresent:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_($1,nil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["assert:equals:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._assert_(_st(visited)._isNil()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._samplesDo_((function(index,value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["collection"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($4)._at_ifPresent_(index,(function(value2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=value2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({value2:value2},$ctx2,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_($3,sentinel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["assert:equals:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._assert_equals_(visited,_st(self._collection())._at_(index)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({index:index,value:value},$ctx1,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"testAtIfPresent",{visited:visited,sentinel:sentinel},smalltalk.IndexableCollectionTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "testAtIfPresent\x0a\x09| visited sentinel |\x0a\x09sentinel := Object new.\x0a\x09self nonIndexesDo: [ :each |\x0a\x09\x09visited := nil.\x0a\x09\x09self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ]) equals: nil.\x0a\x09\x09self assert: visited isNil ].\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09visited := nil.\x0a\x09\x09self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ]) equals: sentinel.\x0a\x09\x09self assert: visited equals: (self collection at: index) ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["new", "nonIndexesDo:", "assert:equals:", "at:ifPresent:", "collection", "assert:", "isNil", "samplesDo:", "at:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["Object"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.IndexableCollectionTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "testAtIfPresentIfAbsent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+protocol: 'tests', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var visited,sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1,$3,$5,$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+sentinel=_st($Object())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._nonIndexesDo_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["collection"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($2)._at_ifPresent_ifAbsent_(each,(function(value1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=value1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({value1:value1},$ctx2,2)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._sampleNonValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx3.sendIdx["sampleNonValue"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["at:ifPresent:ifAbsent:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=self._sampleNonValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["sampleNonValue"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_($1,$3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["assert:equals:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._assert_(_st(visited)._isNil()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._samplesDo_((function(index,value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self._collection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["collection"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($5)._at_ifPresent_ifAbsent_(index,(function(value2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited=value2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return sentinel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({value2:value2},$ctx2,5)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._sampleNonValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,6)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._assert_equals_($4,sentinel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["assert:equals:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self._assert_equals_(visited,_st(self._collection())._at_(index)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({index:index,value:value},$ctx1,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"testAtIfPresentIfAbsent",{visited:visited,sentinel:sentinel},smalltalk.IndexableCollectionTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "testAtIfPresentIfAbsent\x0a\x09| visited sentinel |\x0a\x09sentinel := Object new.\x0a\x09self nonIndexesDo: [ :each |\x0a\x09\x09visited := nil.\x0a\x09\x09self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ] ifAbsent: [ self sampleNonValue ] ) equals: self sampleNonValue.\x0a\x09\x09self assert: visited isNil ].\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09visited := nil.\x0a\x09\x09self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ] ifAbsent: [ self sampleNonValue ]) equals: sentinel.\x0a\x09\x09self assert: visited equals: (self collection at: index) ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["new", "nonIndexesDo:", "assert:equals:", "at:ifPresent:ifAbsent:", "collection", "sampleNonValue", "assert:", "isNil", "samplesDo:", "at:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["Object"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.IndexableCollectionTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "testIndexOf", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2403,80 +2516,6 @@ referencedClasses: ["Dictionary"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.DictionaryTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "testIfPresent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'tests', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var d,visited,absent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-d=_st($Dictionary())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(d)._at_put_("hello","world"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(d)._at_ifPresent_("hello",(function(value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["at:ifPresent:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._assert_equals_(visited,"world"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-absent=_st(d)._at_ifPresent_("bye",(function(value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._assert_(_st(absent)._isNil()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"testIfPresent",{d:d,visited:visited,absent:absent},smalltalk.DictionaryTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "testIfPresent\x0a\x0a\x09| d visited absent |\x0a\x09visited := false.\x0a\x09d := Dictionary new.\x0a\x09d at: 'hello' put: 'world'.\x0a\x0a\x09d at: 'hello' ifPresent: [ :value | visited := value ].\x0a\x09self assert: visited equals: 'world'.\x0a\x0a\x09absent := d at: 'bye' ifPresent: [ :value | visited := value ].\x0a\x09self assert: absent isNil.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["new", "at:put:", "at:ifPresent:", "assert:equals:", "assert:", "isNil"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["Dictionary"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.DictionaryTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "testIfPresentIfAbsent", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-protocol: 'tests', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var d,visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-d=_st($Dictionary())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(d)._at_put_("hello","world"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(d)._at_ifPresent_ifAbsent_("hello",(function(value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1,1)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["at:ifPresent:ifAbsent:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._assert_equals_(visited,"world"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(d)._at_ifPresent_ifAbsent_("buy",(function(value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1,3)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-visited=true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return visited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._assert_(visited); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"testIfPresentIfAbsent",{d:d,visited:visited},smalltalk.DictionaryTest)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "testIfPresentIfAbsent\x0a\x0a\x09| d visited |\x0a\x09visited := false.\x0a\x09d := Dictionary new.\x0a\x09d at: 'hello' put: 'world'.\x0a\x0a\x09d at: 'hello' ifPresent: [ :value | visited := value ] ifAbsent: [ visited := true ].\x0a\x09self assert: visited equals: 'world'.\x0a\x0a\x09d at: 'buy' ifPresent: [ :value | visited := value ] ifAbsent: [ visited := true ].\x0a\x09self assert: visited.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["new", "at:put:", "at:ifPresent:ifAbsent:", "assert:equals:", "assert:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["Dictionary"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.DictionaryTest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "testKeys", 
			 |