|
@@ -1302,6 +1302,22 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.CollectionTest);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "collectionOfPrintStrings",
|
|
|
+protocol: 'fixture',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+self._subclassResponsibility();
|
|
|
+return self}, function($ctx1) {$ctx1.fill(self,"collectionOfPrintStrings",{},smalltalk.CollectionTest)})},
|
|
|
+args: [],
|
|
|
+source: "collectionOfPrintStrings\x0a\x09\x22Answers self collection but with values\x0a\x09changed to their printStrings\x22\x0a\x0a\x09self subclassResponsibility",
|
|
|
+messageSends: ["subclassResponsibility"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.CollectionTest);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "collectionSize",
|
|
@@ -1384,22 +1400,6 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.CollectionTest);
|
|
|
|
|
|
-smalltalk.addMethod(
|
|
|
-smalltalk.method({
|
|
|
-selector: "sampleNonValue",
|
|
|
-protocol: 'fixture',
|
|
|
-fn: function (){
|
|
|
-var self=this;
|
|
|
-return smalltalk.withContext(function($ctx1) {
|
|
|
-return (999);
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"sampleNonValue",{},smalltalk.CollectionTest)})},
|
|
|
-args: [],
|
|
|
-source: "sampleNonValue\x0a\x09\x22Answer value that is guaranteed\x0a\x09not to be contained by self collection\x22\x0a\x09\x0a\x09^ 999",
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.CollectionTest);
|
|
|
-
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "testAddAll",
|
|
@@ -1637,17 +1637,62 @@ selector: "testCollect",
|
|
|
protocol: 'tests',
|
|
|
fn: function (){
|
|
|
var self=this;
|
|
|
-var newCollection;
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-newCollection=[(1), (2), (3), (4)];
|
|
|
-self._assertSameContents_as_(_st(self._collection())._collect_((function(each){
|
|
|
+var $2,$1,$3,$5,$4,$8,$7,$6,$11,$10,$9;
|
|
|
+$2=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=1;
|
|
|
+$1=_st($2)._collect_((function(each){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each)._abs();
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})),newCollection);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{newCollection:newCollection},smalltalk.CollectionTest)})},
|
|
|
+return each;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
|
|
|
+$ctx1.sendIdx["collect:"]=1;
|
|
|
+$3=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=2;
|
|
|
+self._assert_equals_($1,$3);
|
|
|
+$ctx1.sendIdx["assert:equals:"]=1;
|
|
|
+$5=self._collectionWithNewValue();
|
|
|
+$ctx1.sendIdx["collectionWithNewValue"]=1;
|
|
|
+$4=_st($5)._collect_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return each;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}));
|
|
|
+$ctx1.sendIdx["collect:"]=2;
|
|
|
+self._assert_equals_($4,self._collectionWithNewValue());
|
|
|
+$ctx1.sendIdx["assert:equals:"]=2;
|
|
|
+$8=self._collectionClass();
|
|
|
+$ctx1.sendIdx["collectionClass"]=1;
|
|
|
+$7=_st($8)._new();
|
|
|
+$ctx1.sendIdx["new"]=1;
|
|
|
+$6=_st($7)._collect_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return _st(each)._printString();
|
|
|
+$ctx2.sendIdx["printString"]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)})}));
|
|
|
+$ctx1.sendIdx["collect:"]=3;
|
|
|
+self._assert_equals_($6,_st(self._collectionClass())._new());
|
|
|
+$ctx1.sendIdx["assert:equals:"]=3;
|
|
|
+$11=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=3;
|
|
|
+$10=_st($11)._collect_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)})}));
|
|
|
+$ctx1.sendIdx["collect:"]=4;
|
|
|
+$9=_st($10)._detect_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return true;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,5)})}));
|
|
|
+self._assert_equals_($9,self._sampleNewValue());
|
|
|
+$ctx1.sendIdx["assert:equals:"]=4;
|
|
|
+self._assert_equals_(_st(self._collection())._collect_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return _st(each)._printString();
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,6)})})),self._collectionOfPrintStrings());
|
|
|
+return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{},smalltalk.CollectionTest)})},
|
|
|
args: [],
|
|
|
-source: "testCollect\x0a\x09| newCollection |\x0a\x09newCollection := #(1 2 3 4).\x0a\x09self\x0a\x09\x09assertSameContents: (self collection collect: [ :each |\x0a\x09\x09\x09each abs ])\x0a\x09\x09as: newCollection",
|
|
|
-messageSends: ["assertSameContents:as:", "collect:", "collection", "abs"],
|
|
|
+source: "testCollect\x0a\x09self assert: (self collection collect: [ :each | each ]) equals: self collection.\x0a\x09self assert: (self collectionWithNewValue collect: [ :each | each ]) equals: self collectionWithNewValue.\x0a\x09self assert: (self collectionClass new collect: [ :each | each printString ]) equals: self collectionClass new.\x0a\x09self assert: ((self collection collect: [ self sampleNewValue ]) detect: [ true ]) equals: self sampleNewValue.\x0a\x09self assert: (self collection collect: [ :each | each printString ]) equals: self collectionOfPrintStrings",
|
|
|
+messageSends: ["assert:equals:", "collect:", "collection", "collectionWithNewValue", "new", "collectionClass", "printString", "detect:", "sampleNewValue", "collectionOfPrintStrings"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.CollectionTest);
|
|
@@ -1722,26 +1767,59 @@ fn: function (){
|
|
|
var self=this;
|
|
|
function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-var $2,$1;
|
|
|
+var $1,$2,$3,$4,$6,$5,$7;
|
|
|
+self._shouldnt_raise_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+$1=self._collection();
|
|
|
+$ctx2.sendIdx["collection"]=1;
|
|
|
+return _st($1)._detect_((function(){
|
|
|
+return smalltalk.withContext(function($ctx3) {
|
|
|
+return true;
|
|
|
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})}));
|
|
|
+$ctx2.sendIdx["detect:"]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}),$Error());
|
|
|
+self._should_raise_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
$2=self._collection();
|
|
|
-$ctx1.sendIdx["collection"]=1;
|
|
|
-$1=_st($2)._detect_((function(each){
|
|
|
+$ctx2.sendIdx["collection"]=2;
|
|
|
+return _st($2)._detect_((function(){
|
|
|
+return smalltalk.withContext(function($ctx3) {
|
|
|
+return false;
|
|
|
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,4)})}));
|
|
|
+$ctx2.sendIdx["detect:"]=2;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})}),$Error());
|
|
|
+$ctx1.sendIdx["should:raise:"]=1;
|
|
|
+$3=_st(self._sampleNewValueAsCollection())._detect_((function(){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each).__lt((0));
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
|
|
|
-$ctx1.sendIdx["detect:"]=1;
|
|
|
-self._assert_equals_($1,(-4));
|
|
|
+return true;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,5)})}));
|
|
|
+$ctx1.sendIdx["detect:"]=3;
|
|
|
+$4=self._sampleNewValue();
|
|
|
+$ctx1.sendIdx["sampleNewValue"]=1;
|
|
|
+self._assert_equals_($3,$4);
|
|
|
+$ctx1.sendIdx["assert:equals:"]=1;
|
|
|
+$5=_st(self._collectionWithNewValue())._detect_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+$6=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=2;
|
|
|
+return _st(each).__eq($6);
|
|
|
+$ctx2.sendIdx["="]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,6)})}));
|
|
|
+$ctx1.sendIdx["detect:"]=4;
|
|
|
+$7=self._sampleNewValue();
|
|
|
+$ctx1.sendIdx["sampleNewValue"]=3;
|
|
|
+self._assert_equals_($5,$7);
|
|
|
self._should_raise_((function(){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
return _st(self._collection())._detect_((function(each){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return _st(each).__eq((6));
|
|
|
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,3)})}));
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}),$Error());
|
|
|
+return _st(each).__eq(self._sampleNewValue());
|
|
|
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,8)})}));
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,7)})}),$Error());
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"testDetect",{},smalltalk.CollectionTest)})},
|
|
|
args: [],
|
|
|
-source: "testDetect\x0a\x09self assert: (self collection detect: [ :each | each < 0 ]) equals: -4.\x0a\x09self\x0a\x09\x09should: [ self collection detect: [ :each | each = 6 ] ]\x0a\x09\x09raise: Error",
|
|
|
-messageSends: ["assert:equals:", "detect:", "collection", "<", "should:raise:", "="],
|
|
|
+source: "testDetect\x0a\x09self\x0a\x09\x09shouldnt: [ self collection detect: [ true ] ]\x0a\x09\x09raise: Error.\x0a\x09self\x0a\x09\x09should: [ self collection detect: [ false ] ]\x0a\x09\x09raise: Error.\x0a\x09self assert: (self sampleNewValueAsCollection detect: [ true ]) equals: self sampleNewValue.\x0a\x09self assert: (self collectionWithNewValue detect: [ :each | each = self sampleNewValue ]) equals: self sampleNewValue.\x0a\x09self\x0a\x09\x09should: [ self collection detect: [ :each | each = self sampleNewValue ] ]\x0a\x09\x09raise: Error",
|
|
|
+messageSends: ["shouldnt:raise:", "detect:", "collection", "should:raise:", "assert:equals:", "sampleNewValueAsCollection", "sampleNewValue", "collectionWithNewValue", "="],
|
|
|
referencedClasses: ["Error"]
|
|
|
}),
|
|
|
smalltalk.CollectionTest);
|
|
@@ -1966,17 +2044,77 @@ selector: "testSelect",
|
|
|
protocol: 'tests',
|
|
|
fn: function (){
|
|
|
var self=this;
|
|
|
-var newCollection;
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-newCollection=[(2), (-4)];
|
|
|
-self._assertSameContents_as_(_st(self._collection())._select_((function(each){
|
|
|
+var $2,$1,$4,$3,$6,$5,$7,$9,$10,$8,$12,$13,$11,$14,$16,$17,$15;
|
|
|
+$2=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=1;
|
|
|
+$1=_st($2)._select_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return false;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
|
|
|
+$ctx1.sendIdx["select:"]=1;
|
|
|
+$4=self._collectionClass();
|
|
|
+$ctx1.sendIdx["collectionClass"]=1;
|
|
|
+$3=_st($4)._new();
|
|
|
+$ctx1.sendIdx["new"]=1;
|
|
|
+self._assert_equals_($1,$3);
|
|
|
+$ctx1.sendIdx["assert:equals:"]=1;
|
|
|
+$6=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=2;
|
|
|
+$5=_st($6)._select_((function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return true;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
|
|
|
+$ctx1.sendIdx["select:"]=2;
|
|
|
+$7=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=3;
|
|
|
+self._assert_equals_($5,$7);
|
|
|
+$ctx1.sendIdx["assert:equals:"]=2;
|
|
|
+$9=self._collectionWithNewValue();
|
|
|
+$ctx1.sendIdx["collectionWithNewValue"]=1;
|
|
|
+$8=_st($9)._select_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+$10=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=1;
|
|
|
+return _st(each).__eq($10);
|
|
|
+$ctx2.sendIdx["="]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)})}));
|
|
|
+$ctx1.sendIdx["select:"]=3;
|
|
|
+self._assert_equals_($8,self._sampleNewValueAsCollection());
|
|
|
+$ctx1.sendIdx["assert:equals:"]=3;
|
|
|
+$12=self._collectionWithNewValue();
|
|
|
+$ctx1.sendIdx["collectionWithNewValue"]=2;
|
|
|
+$11=_st($12)._select_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+$13=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=2;
|
|
|
+return _st(each).__tild_eq($13);
|
|
|
+$ctx2.sendIdx["~="]=1;
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)})}));
|
|
|
+$ctx1.sendIdx["select:"]=4;
|
|
|
+$14=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=4;
|
|
|
+self._assert_equals_($11,$14);
|
|
|
+$ctx1.sendIdx["assert:equals:"]=4;
|
|
|
+$16=self._collection();
|
|
|
+$ctx1.sendIdx["collection"]=5;
|
|
|
+$15=_st($16)._select_((function(each){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each)._even();
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})),newCollection);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"testSelect",{newCollection:newCollection},smalltalk.CollectionTest)})},
|
|
|
+$17=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=3;
|
|
|
+return _st(each).__eq($17);
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,5)})}));
|
|
|
+$ctx1.sendIdx["select:"]=5;
|
|
|
+self._assert_equals_($15,_st(self._collectionClass())._new());
|
|
|
+$ctx1.sendIdx["assert:equals:"]=5;
|
|
|
+self._assert_equals_(_st(self._collectionWithNewValue())._select_((function(each){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return _st(each).__tild_eq(self._sampleNewValue());
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,6)})})),self._collection());
|
|
|
+return self}, function($ctx1) {$ctx1.fill(self,"testSelect",{},smalltalk.CollectionTest)})},
|
|
|
args: [],
|
|
|
-source: "testSelect\x0a\x09| newCollection |\x0a\x09newCollection := #(2 -4).\x0a\x09self\x0a\x09\x09assertSameContents: (self collection select: [ :each |\x0a\x09\x09\x09each even ])\x0a\x09\x09as: newCollection",
|
|
|
-messageSends: ["assertSameContents:as:", "select:", "collection", "even"],
|
|
|
+source: "testSelect\x0a\x09self assert: (self collection select: [ false ]) equals: self collectionClass new.\x0a\x09self assert: (self collection select: [ true ]) equals: self collection.\x0a\x09self assert: (self collectionWithNewValue select: [ :each | each = self sampleNewValue ]) equals: self sampleNewValueAsCollection.\x0a\x09self assert: (self collectionWithNewValue select: [ :each | each ~= self sampleNewValue ]) equals: self collection.\x0a\x09self assert: (self collection select: [ :each | each = self sampleNewValue ]) equals: self collectionClass new.\x0a\x09self assert: (self collectionWithNewValue select: [ :each | each ~= self sampleNewValue ]) equals: self collection",
|
|
|
+messageSends: ["assert:equals:", "select:", "collection", "new", "collectionClass", "collectionWithNewValue", "=", "sampleNewValue", "sampleNewValueAsCollection", "~="],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.CollectionTest);
|
|
@@ -2152,12 +2290,12 @@ $2=self._collection();
|
|
|
$ctx2.sendIdx["collection"]=1;
|
|
|
$1=_st($2)._at_ifAbsent_(each,(function(){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return self._sampleNonValue();
|
|
|
-$ctx3.sendIdx["sampleNonValue"]=1;
|
|
|
+return self._sampleNewValue();
|
|
|
+$ctx3.sendIdx["sampleNewValue"]=1;
|
|
|
}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})}));
|
|
|
$ctx2.sendIdx["at:ifAbsent:"]=1;
|
|
|
-$3=self._sampleNonValue();
|
|
|
-$ctx2.sendIdx["sampleNonValue"]=2;
|
|
|
+$3=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=2;
|
|
|
return self._assert_equals_($1,$3);
|
|
|
$ctx2.sendIdx["assert:equals:"]=1;
|
|
|
}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
|
|
@@ -2165,13 +2303,13 @@ self._samplesDo_((function(index,value){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
return self._assert_equals_(_st(self._collection())._at_ifAbsent_(index,(function(){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return self._sampleNonValue();
|
|
|
+return self._sampleNewValue();
|
|
|
}, function($ctx3) {$ctx3.fillBlock({},$ctx2,4)})})),value);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({index:index,value:value},$ctx1,3)})}));
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"testAtIfAbsent",{},smalltalk.IndexableCollectionTest)})},
|
|
|
args: [],
|
|
|
-source: "testAtIfAbsent\x0a\x09self nonIndexesDo: [ :each |\x0a\x09\x09self assert: (self collection at: each ifAbsent: [ self sampleNonValue ]) equals: self sampleNonValue ].\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09self assert: (self collection at: index ifAbsent: [ self sampleNonValue ]) equals: value ].",
|
|
|
-messageSends: ["nonIndexesDo:", "assert:equals:", "at:ifAbsent:", "collection", "sampleNonValue", "samplesDo:"],
|
|
|
+source: "testAtIfAbsent\x0a\x09self nonIndexesDo: [ :each |\x0a\x09\x09self assert: (self collection at: each ifAbsent: [ self sampleNewValue ]) equals: self sampleNewValue ].\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09self assert: (self collection at: index ifAbsent: [ self sampleNewValue ]) equals: value ].",
|
|
|
+messageSends: ["nonIndexesDo:", "assert:equals:", "at:ifAbsent:", "collection", "sampleNewValue", "samplesDo:"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.IndexableCollectionTest);
|
|
@@ -2252,12 +2390,12 @@ visited;
|
|
|
return sentinel;
|
|
|
}, function($ctx3) {$ctx3.fillBlock({value1:value1},$ctx2,2)})}),(function(){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return self._sampleNonValue();
|
|
|
-$ctx3.sendIdx["sampleNonValue"]=1;
|
|
|
+return self._sampleNewValue();
|
|
|
+$ctx3.sendIdx["sampleNewValue"]=1;
|
|
|
}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})}));
|
|
|
$ctx2.sendIdx["at:ifPresent:ifAbsent:"]=1;
|
|
|
-$3=self._sampleNonValue();
|
|
|
-$ctx2.sendIdx["sampleNonValue"]=2;
|
|
|
+$3=self._sampleNewValue();
|
|
|
+$ctx2.sendIdx["sampleNewValue"]=2;
|
|
|
self._assert_equals_($1,$3);
|
|
|
$ctx2.sendIdx["assert:equals:"]=1;
|
|
|
return self._assert_(_st(visited)._isNil());
|
|
@@ -2275,7 +2413,7 @@ visited;
|
|
|
return sentinel;
|
|
|
}, function($ctx3) {$ctx3.fillBlock({value2:value2},$ctx2,5)})}),(function(){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return self._sampleNonValue();
|
|
|
+return self._sampleNewValue();
|
|
|
}, function($ctx3) {$ctx3.fillBlock({},$ctx2,6)})}));
|
|
|
self._assert_equals_($4,sentinel);
|
|
|
$ctx2.sendIdx["assert:equals:"]=2;
|
|
@@ -2283,8 +2421,8 @@ 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:"],
|
|
|
+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 sampleNewValue ] ) equals: self sampleNewValue.\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 sampleNewValue ]) equals: sentinel.\x0a\x09\x09self assert: visited equals: (self collection at: index) ]",
|
|
|
+messageSends: ["new", "nonIndexesDo:", "assert:equals:", "at:ifPresent:ifAbsent:", "collection", "sampleNewValue", "assert:", "isNil", "samplesDo:", "at:"],
|
|
|
referencedClasses: ["Object"]
|
|
|
}),
|
|
|
smalltalk.IndexableCollectionTest);
|
|
@@ -2329,7 +2467,7 @@ self._should_raise_((function(){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
$1=self._collection();
|
|
|
$ctx2.sendIdx["collection"]=1;
|
|
|
-return _st($1)._indexOf_(self._sampleNonValue());
|
|
|
+return _st($1)._indexOf_(self._sampleNewValue());
|
|
|
$ctx2.sendIdx["indexOf:"]=1;
|
|
|
}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}),$Error());
|
|
|
self._samplesDo_((function(index,value){
|
|
@@ -2338,8 +2476,8 @@ return self._assert_equals_(_st(self._collection())._indexOf_(value),index);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({index:index,value:value},$ctx1,2)})}));
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"testIndexOf",{},smalltalk.IndexableCollectionTest)})},
|
|
|
args: [],
|
|
|
-source: "testIndexOf\x0a\x09self should: [ self collection indexOf: self sampleNonValue ] raise: Error.\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09self assert: (self collection indexOf: value) equals: index ]",
|
|
|
-messageSends: ["should:raise:", "indexOf:", "collection", "sampleNonValue", "samplesDo:", "assert:equals:"],
|
|
|
+source: "testIndexOf\x0a\x09self should: [ self collection indexOf: self sampleNewValue ] raise: Error.\x0a\x09self samplesDo: [ :index :value |\x0a\x09\x09self assert: (self collection indexOf: value) equals: index ]",
|
|
|
+messageSends: ["should:raise:", "indexOf:", "collection", "sampleNewValue", "samplesDo:", "assert:equals:"],
|
|
|
referencedClasses: ["Error"]
|
|
|
}),
|
|
|
smalltalk.IndexableCollectionTest);
|
|
@@ -2393,6 +2531,30 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.HashedCollectionTest);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "collectionOfPrintStrings",
|
|
|
+protocol: 'fixture',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+var $2,$3,$4,$1;
|
|
|
+$2="b".__minus_gt("1");
|
|
|
+$ctx1.sendIdx["->"]=1;
|
|
|
+$3="a".__minus_gt("2");
|
|
|
+$ctx1.sendIdx["->"]=2;
|
|
|
+$4="c".__minus_gt("3");
|
|
|
+$ctx1.sendIdx["->"]=3;
|
|
|
+$1=smalltalk.HashedCollection._from_([$2,$3,$4,"d".__minus_gt("-4")]);
|
|
|
+return $1;
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"collectionOfPrintStrings",{},smalltalk.HashedCollectionTest)})},
|
|
|
+args: [],
|
|
|
+source: "collectionOfPrintStrings\x0a\x09^ #{ 'b' -> '1'. 'a' -> '2'. 'c' -> '3'. 'd' -> '-4' }",
|
|
|
+messageSends: ["->"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.HashedCollectionTest);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "collectionSize",
|
|
@@ -2722,6 +2884,34 @@ referencedClasses: ["Dictionary"]
|
|
|
}),
|
|
|
smalltalk.DictionaryTest);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "collectionOfPrintStrings",
|
|
|
+protocol: 'fixture',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+var $2,$3,$1;
|
|
|
+$2=_st($Dictionary())._new();
|
|
|
+_st($2)._at_put_((1),"1");
|
|
|
+$ctx1.sendIdx["at:put:"]=1;
|
|
|
+_st($2)._at_put_("a","2");
|
|
|
+$ctx1.sendIdx["at:put:"]=2;
|
|
|
+_st($2)._at_put_(true,"3");
|
|
|
+$ctx1.sendIdx["at:put:"]=3;
|
|
|
+_st($2)._at_put_((1).__at((3)),"-4");
|
|
|
+$3=_st($2)._yourself();
|
|
|
+$1=$3;
|
|
|
+return $1;
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"collectionOfPrintStrings",{},smalltalk.DictionaryTest)})},
|
|
|
+args: [],
|
|
|
+source: "collectionOfPrintStrings\x0a\x09^ Dictionary new\x0a\x09\x09at: 1 put: '1';\x0a\x09\x09at: 'a' put: '2';\x0a\x09\x09at: true put: '3';\x0a\x09\x09at: 1@3 put: '-4';\x0a\x09\x09yourself",
|
|
|
+messageSends: ["at:put:", "new", "@", "yourself"],
|
|
|
+referencedClasses: ["Dictionary"]
|
|
|
+}),
|
|
|
+smalltalk.DictionaryTest);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "collectionSize",
|
|
@@ -3682,6 +3872,24 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.ArrayTest);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "collectionOfPrintStrings",
|
|
|
+protocol: 'fixture',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+var $1;
|
|
|
+$1=["1", "2", "3", "-4"];
|
|
|
+return $1;
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"collectionOfPrintStrings",{},smalltalk.ArrayTest)})},
|
|
|
+args: [],
|
|
|
+source: "collectionOfPrintStrings\x0a\x09^ #('1' '2' '3' '-4')",
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.ArrayTest);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "collectionSize",
|
|
@@ -4090,6 +4298,22 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.StringTest);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "collectionOfPrintStrings",
|
|
|
+protocol: 'fixture',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+return "'h''e''l''l''o'";
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"collectionOfPrintStrings",{},smalltalk.StringTest)})},
|
|
|
+args: [],
|
|
|
+source: "collectionOfPrintStrings\x0a\x09^ '''h''''e''''l''''l''''o'''",
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.StringTest);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "collectionSize",
|
|
@@ -4404,27 +4628,6 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.StringTest);
|
|
|
|
|
|
-smalltalk.addMethod(
|
|
|
-smalltalk.method({
|
|
|
-selector: "testCollect",
|
|
|
-protocol: 'tests',
|
|
|
-fn: function (){
|
|
|
-var self=this;
|
|
|
-var newCollection;
|
|
|
-return smalltalk.withContext(function($ctx1) {
|
|
|
-newCollection="hheelllloo";
|
|
|
-self._assertSameContents_as_(_st(self._collection())._collect_((function(each){
|
|
|
-return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each).__comma(each);
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})),newCollection);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{newCollection:newCollection},smalltalk.StringTest)})},
|
|
|
-args: [],
|
|
|
-source: "testCollect\x0a\x09| newCollection |\x0a\x09newCollection := 'hheelllloo'.\x0a\x09self\x0a\x09\x09assertSameContents: (self collection collect: [ :each |\x0a\x09\x09\x09each, each ])\x0a\x09\x09as: newCollection",
|
|
|
-messageSends: ["assertSameContents:as:", "collect:", "collection", ","],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.StringTest);
|
|
|
-
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "testCopyFromTo",
|
|
@@ -4462,39 +4665,6 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.StringTest);
|
|
|
|
|
|
-smalltalk.addMethod(
|
|
|
-smalltalk.method({
|
|
|
-selector: "testDetect",
|
|
|
-protocol: 'tests',
|
|
|
-fn: function (){
|
|
|
-var self=this;
|
|
|
-function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
|
|
|
-return smalltalk.withContext(function($ctx1) {
|
|
|
-var $2,$1;
|
|
|
-$2=self._collection();
|
|
|
-$ctx1.sendIdx["collection"]=1;
|
|
|
-$1=_st($2)._detect_((function(each){
|
|
|
-return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each).__eq("h");
|
|
|
-$ctx2.sendIdx["="]=1;
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
|
|
|
-$ctx1.sendIdx["detect:"]=1;
|
|
|
-self._assert_equals_($1,"h");
|
|
|
-self._should_raise_((function(){
|
|
|
-return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(self._collection())._detect_((function(each){
|
|
|
-return smalltalk.withContext(function($ctx3) {
|
|
|
-return _st(each).__eq((6));
|
|
|
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,3)})}));
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}),$Error());
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"testDetect",{},smalltalk.StringTest)})},
|
|
|
-args: [],
|
|
|
-source: "testDetect\x0a\x09self assert: (self collection detect: [ :each | each = 'h' ]) equals: 'h'.\x0a\x09self\x0a\x09\x09should: [ self collection detect: [ :each | each = 6 ] ]\x0a\x09\x09raise: Error",
|
|
|
-messageSends: ["assert:equals:", "detect:", "collection", "=", "should:raise:"],
|
|
|
-referencedClasses: ["Error"]
|
|
|
-}),
|
|
|
-smalltalk.StringTest);
|
|
|
-
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "testEquality",
|
|
@@ -4684,27 +4854,6 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.StringTest);
|
|
|
|
|
|
-smalltalk.addMethod(
|
|
|
-smalltalk.method({
|
|
|
-selector: "testSelect",
|
|
|
-protocol: 'tests',
|
|
|
-fn: function (){
|
|
|
-var self=this;
|
|
|
-var newCollection;
|
|
|
-return smalltalk.withContext(function($ctx1) {
|
|
|
-newCollection="o";
|
|
|
-self._assertSameContents_as_(_st(self._collection())._select_((function(each){
|
|
|
-return smalltalk.withContext(function($ctx2) {
|
|
|
-return _st(each).__eq("o");
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})),newCollection);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"testSelect",{newCollection:newCollection},smalltalk.StringTest)})},
|
|
|
-args: [],
|
|
|
-source: "testSelect\x0a\x09| newCollection |\x0a\x09newCollection := 'o'.\x0a\x09self\x0a\x09\x09assertSameContents: (self collection select: [ :each |\x0a\x09\x09\x09each = 'o' ])\x0a\x09\x09as: newCollection",
|
|
|
-messageSends: ["assertSameContents:as:", "select:", "collection", "="],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.StringTest);
|
|
|
-
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "testStreamContents",
|