Browse Source

Using set equality in some tests where workarounds were before.

Herbert Vojčík 11 years ago
parent
commit
3f42379ee9
6 changed files with 96 additions and 112 deletions
  1. 4 4
      js/Kernel-Tests.deploy.js
  2. 6 6
      js/Kernel-Tests.js
  3. 34 42
      js/SUnit-Tests.deploy.js
  4. 45 53
      js/SUnit-Tests.js
  5. 1 1
      st/Kernel-Tests.st
  6. 6 6
      st/SUnit-Tests.st

+ 4 - 4
js/Kernel-Tests.deploy.js

@@ -2885,12 +2885,12 @@ smalltalk.addMethod(
 "_testCollect",
 smalltalk.method({
 selector: "testCollect",
-fn: function () {
+fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_([(0), (2)],_st(_st(_st(_st([(5), (6), (8)])._asSet())._collect_((function(x){
+return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st([(0), (2)])._asSet(),_st(_st([(5), (6), (8)])._asSet())._collect_((function(x){
 return smalltalk.withContext(function($ctx2) {
return _st(x).__backslash_backslash((3));
-}, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})))._asArray())._sorted());
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{}, smalltalk.SetTest)});}
+}, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})));
+return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{}, smalltalk.SetTest)})}
 }),
 smalltalk.SetTest);
 

+ 6 - 6
js/Kernel-Tests.js

@@ -3717,15 +3717,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "testCollect",
 category: 'tests',
-fn: function () {
+fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_([(0), (2)],_st(_st(_st(_st([(5), (6), (8)])._asSet())._collect_((function(x){
+return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st([(0), (2)])._asSet(),_st(_st([(5), (6), (8)])._asSet())._collect_((function(x){
 return smalltalk.withContext(function($ctx2) {
return _st(x).__backslash_backslash((3));
-}, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})))._asArray())._sorted());
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{}, smalltalk.SetTest)});},
+}, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})));
+return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{}, smalltalk.SetTest)})},
 args: [],
-source: "testCollect\x0a\x09self assert: #(0 2) equals: (#(5 6 8) asSet collect: [ :x | x \x5c\x5c 3 ]) asArray sorted",
-messageSends: ["assert:equals:", "sorted", "asArray", "collect:", "\x5c\x5c", "asSet"],
+source: "testCollect\x0a\x09self assert: #(0 2) asSet equals: (#(5 6 8) asSet collect: [ :x | x \x5c\x5c 3 ])",
+messageSends: ["assert:equals:", "asSet", "collect:", "\x5c\x5c"],
 referencedClasses: []
 }),
 smalltalk.SetTest);

+ 34 - 42
js/SUnit-Tests.deploy.js

@@ -192,28 +192,28 @@ return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{}, smalltalk.SUnit
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
-"_setUp",
+"_selectorSetOf_",
 smalltalk.method({
-selector: "setUp",
-fn: function (){
+selector: "selectorSetOf:",
+fn: function (aCollection){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="ok";
-return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SUnitAsyncTest)})}
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(aCollection)._collect_((function(each){
+return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})}
 }),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
-"_sortedSelectors_",
+"_setUp",
 smalltalk.method({
-selector: "sortedSelectors:",
-fn: function (aCollection){
+selector: "setUp",
+fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._sorted();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"sortedSelectors:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})}
+return smalltalk.withContext(function($ctx1) { 
self["@flag"]="ok";
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SUnitAsyncTest)})}
 }),
 smalltalk.SUnitAsyncTest);
 
@@ -235,7 +235,7 @@ selector: "testAsyncErrorsAndFailures",
 fn: function (){
 var self=this;
 var suite,runner,result,assertBlock;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$6,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -243,21 +243,17 @@ runner=_st((smalltalk.TestSuiteRunner || TestSuiteRunner))._on_(suite);
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(["fakeError"],_st(self)._sortedSelectors_(_st(result)._errors()));
-_st(self)._assert_equals_(["fakeErrorFailingInTearDown", "fakeFailure"],_st(self)._sortedSelectors_(_st(result)._failures()));
+return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(["fakeError"])._asSet(),_st(self)._selectorSetOf_(_st(result)._errors()));
+_st(self)._assert_equals_(_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet(),_st(self)._selectorSetOf_(_st(result)._failures()));
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(runner)._announcer();
-$2=(smalltalk.ResultAnnouncement || ResultAnnouncement);
-$3=(function(ann){
-return smalltalk.withContext(function($ctx2) {
$4=_st(_st(ann)._result()).__eq_eq(result);
-$5=(function(){
-return smalltalk.withContext(function($ctx3) {
$6=_st(_st(result)._runs()).__eq(_st(result)._total());
-return _st($6)._ifTrue_(assertBlock);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
-return _st($4)._ifTrue_($5);
-}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})});
-_st($1)._on_do_($2,$3);
+_st(_st(runner)._announcer())._on_do_((smalltalk.ResultAnnouncement || ResultAnnouncement),(function(ann){
+return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+if(smalltalk.assert($1)){
+$2=_st(_st(result)._runs()).__eq(_st(result)._total());
+return _st($2)._ifTrue_(assertBlock);
+};
+}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncErrorsAndFailures",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})}
 }),
@@ -340,7 +336,7 @@ selector: "testTimeouts",
 fn: function (){
 var self=this;
 var suite,runner,result,assertBlock;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$6,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -348,21 +344,17 @@ runner=_st((smalltalk.TestSuiteRunner || TestSuiteRunner))._on_(suite);
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_(_st(_st(result)._errors())._isEmpty());
-_st(self)._assert_equals_(["fakeMultipleTimeoutFailing", "fakeTimeout"],_st(self)._sortedSelectors_(_st(result)._failures()));
+return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st((smalltalk.Set || Set))._new(),_st(self)._selectorSetOf_(_st(result)._errors()));
+_st(self)._assert_equals_(_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet(),_st(self)._selectorSetOf_(_st(result)._failures()));
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(runner)._announcer();
-$2=(smalltalk.ResultAnnouncement || ResultAnnouncement);
-$3=(function(ann){
-return smalltalk.withContext(function($ctx2) {
$4=_st(_st(ann)._result()).__eq_eq(result);
-$5=(function(){
-return smalltalk.withContext(function($ctx3) {
$6=_st(_st(result)._runs()).__eq(_st(result)._total());
-return _st($6)._ifTrue_(assertBlock);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
-return _st($4)._ifTrue_($5);
-}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})});
-_st($1)._on_do_($2,$3);
+_st(_st(runner)._announcer())._on_do_((smalltalk.ResultAnnouncement || ResultAnnouncement),(function(ann){
+return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+if(smalltalk.assert($1)){
+$2=_st(_st(result)._runs()).__eq(_st(result)._total());
+return _st($2)._ifTrue_(assertBlock);
+};
+}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
 return self}, function($ctx1) {$ctx1.fill(self,"testTimeouts",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})}
 }),

+ 45 - 53
js/SUnit-Tests.js

@@ -257,6 +257,26 @@ referencedClasses: []
 }),
 smalltalk.SUnitAsyncTest);
 
+smalltalk.addMethod(
+"_selectorSetOf_",
+smalltalk.method({
+selector: "selectorSetOf:",
+category: 'private',
+fn: function (aCollection){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(aCollection)._collect_((function(each){
+return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})},
+args: ["aCollection"],
+source: "selectorSetOf: aCollection\x0a\x09^(aCollection collect: [:each | each selector]) asSet",
+messageSends: ["asSet", "collect:", "selector"],
+referencedClasses: []
+}),
+smalltalk.SUnitAsyncTest);
+
 smalltalk.addMethod(
 "_setUp",
 smalltalk.method({
@@ -273,26 +293,6 @@ referencedClasses: []
 }),
 smalltalk.SUnitAsyncTest);
 
-smalltalk.addMethod(
-"_sortedSelectors_",
-smalltalk.method({
-selector: "sortedSelectors:",
-category: 'private',
-fn: function (aCollection){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._sorted();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"sortedSelectors:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})},
-args: ["aCollection"],
-source: "sortedSelectors: aCollection\x0a\x09^(aCollection collect: [:each | each selector]) sorted",
-messageSends: ["sorted", "collect:", "selector"],
-referencedClasses: []
-}),
-smalltalk.SUnitAsyncTest);
-
 smalltalk.addMethod(
 "_tearDown",
 smalltalk.method({
@@ -317,7 +317,7 @@ category: 'tests',
 fn: function (){
 var self=this;
 var suite,runner,result,assertBlock;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$6,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -325,26 +325,22 @@ runner=_st((smalltalk.TestSuiteRunner || TestSuiteRunner))._on_(suite);
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(["fakeError"],_st(self)._sortedSelectors_(_st(result)._errors()));
-_st(self)._assert_equals_(["fakeErrorFailingInTearDown", "fakeFailure"],_st(self)._sortedSelectors_(_st(result)._failures()));
+return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(["fakeError"])._asSet(),_st(self)._selectorSetOf_(_st(result)._errors()));
+_st(self)._assert_equals_(_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet(),_st(self)._selectorSetOf_(_st(result)._failures()));
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(runner)._announcer();
-$2=(smalltalk.ResultAnnouncement || ResultAnnouncement);
-$3=(function(ann){
-return smalltalk.withContext(function($ctx2) {
$4=_st(_st(ann)._result()).__eq_eq(result);
-$5=(function(){
-return smalltalk.withContext(function($ctx3) {
$6=_st(_st(result)._runs()).__eq(_st(result)._total());
-return _st($6)._ifTrue_(assertBlock);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
-return _st($4)._ifTrue_($5);
-}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})});
-_st($1)._on_do_($2,$3);
+_st(_st(runner)._announcer())._on_do_((smalltalk.ResultAnnouncement || ResultAnnouncement),(function(ann){
+return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+if(smalltalk.assert($1)){
+$2=_st(_st(result)._runs()).__eq(_st(result)._total());
+return _st($2)._ifTrue_(assertBlock);
+};
+}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncErrorsAndFailures",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})},
 args: [],
-source: "testAsyncErrorsAndFailures\x0a\x09| suite runner result assertBlock |\x0a\x09suite := #('fakeError' 'fakeErrorFailingInTearDown' 'fakeFailure' 'testPass') collect: [ :each | self class selector: each ].\x0a    runner := TestSuiteRunner on: suite.\x0a    self timeout: 200.\x0a\x09result := runner result.\x0a    assertBlock := self async: [\x0a\x09\x09self assert: #('fakeError') equals: (self sortedSelectors: result errors).\x0a\x09\x09self assert: #('fakeErrorFailingInTearDown' 'fakeFailure') equals: (self sortedSelectors: result failures).\x0a\x09\x09self finished\x0a  \x09].\x0a    runner announcer on: ResultAnnouncement do: [:ann |\x0a    \x09ann result == result  ifTrue: [ result runs = result total ifTrue: assertBlock ]].\x0a\x09runner run",
-messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "sortedSelectors:", "errors", "failures", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"],
+source: "testAsyncErrorsAndFailures\x0a\x09| suite runner result assertBlock |\x0a\x09suite := #('fakeError' 'fakeErrorFailingInTearDown' 'fakeFailure' 'testPass') collect: [ :each | self class selector: each ].\x0a    runner := TestSuiteRunner on: suite.\x0a    self timeout: 200.\x0a\x09result := runner result.\x0a    assertBlock := self async: [\x0a\x09\x09self assert: #('fakeError') asSet equals: (self selectorSetOf: result errors).\x0a\x09\x09self assert: #('fakeErrorFailingInTearDown' 'fakeFailure') asSet equals: (self selectorSetOf: result failures).\x0a\x09\x09self finished\x0a  \x09].\x0a    runner announcer on: ResultAnnouncement do: [:ann |\x0a    \x09ann result == result  ifTrue: [ result runs = result total ifTrue: assertBlock ]].\x0a\x09runner run",
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "asSet", "selectorSetOf:", "errors", "failures", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"],
 referencedClasses: ["TestSuiteRunner", "ResultAnnouncement"]
 }),
 smalltalk.SUnitAsyncTest);
@@ -447,7 +443,7 @@ category: 'tests',
 fn: function (){
 var self=this;
 var suite,runner,result,assertBlock;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$6,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -455,27 +451,23 @@ runner=_st((smalltalk.TestSuiteRunner || TestSuiteRunner))._on_(suite);
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_(_st(_st(result)._errors())._isEmpty());
-_st(self)._assert_equals_(["fakeMultipleTimeoutFailing", "fakeTimeout"],_st(self)._sortedSelectors_(_st(result)._failures()));
+return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st((smalltalk.Set || Set))._new(),_st(self)._selectorSetOf_(_st(result)._errors()));
+_st(self)._assert_equals_(_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet(),_st(self)._selectorSetOf_(_st(result)._failures()));
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(runner)._announcer();
-$2=(smalltalk.ResultAnnouncement || ResultAnnouncement);
-$3=(function(ann){
-return smalltalk.withContext(function($ctx2) {
$4=_st(_st(ann)._result()).__eq_eq(result);
-$5=(function(){
-return smalltalk.withContext(function($ctx3) {
$6=_st(_st(result)._runs()).__eq(_st(result)._total());
-return _st($6)._ifTrue_(assertBlock);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
-return _st($4)._ifTrue_($5);
-}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})});
-_st($1)._on_do_($2,$3);
+_st(_st(runner)._announcer())._on_do_((smalltalk.ResultAnnouncement || ResultAnnouncement),(function(ann){
+return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+if(smalltalk.assert($1)){
+$2=_st(_st(result)._runs()).__eq(_st(result)._total());
+return _st($2)._ifTrue_(assertBlock);
+};
+}, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
 return self}, function($ctx1) {$ctx1.fill(self,"testTimeouts",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})},
 args: [],
-source: "testTimeouts\x0a\x09| suite runner result assertBlock |\x0a\x09suite := #('fakeTimeout' 'fakeMultipleTimeoutFailing' 'fakeMultipleTimeoutPassing' 'testPass') collect: [ :each | self class selector: each ].\x0a    runner := TestSuiteRunner on: suite.\x0a    self timeout: 200.\x0a\x09result := runner result.\x0a    assertBlock := self async: [\x0a\x09\x09self assert: result errors isEmpty.\x0a\x09\x09self assert: #('fakeMultipleTimeoutFailing' 'fakeTimeout') equals: (self sortedSelectors: result failures).\x0a\x09\x09self finished\x0a  \x09].\x0a    runner announcer on: ResultAnnouncement do: [:ann |\x0a    \x09ann result == result  ifTrue: [ result runs = result total ifTrue: assertBlock ]].\x0a\x09runner run",
-messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:", "isEmpty", "errors", "assert:equals:", "sortedSelectors:", "failures", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"],
-referencedClasses: ["TestSuiteRunner", "ResultAnnouncement"]
+source: "testTimeouts\x0a\x09| suite runner result assertBlock |\x0a\x09suite := #('fakeTimeout' 'fakeMultipleTimeoutFailing' 'fakeMultipleTimeoutPassing' 'testPass') collect: [ :each | self class selector: each ].\x0a    runner := TestSuiteRunner on: suite.\x0a    self timeout: 200.\x0a\x09result := runner result.\x0a    assertBlock := self async: [\x0a\x09\x09self assert: Set new equals: (self selectorSetOf: result errors).\x0a\x09\x09self assert: #('fakeMultipleTimeoutFailing' 'fakeTimeout') asSet equals: (self selectorSetOf: result failures).\x0a\x09\x09self finished\x0a  \x09].\x0a    runner announcer on: ResultAnnouncement do: [:ann |\x0a    \x09ann result == result  ifTrue: [ result runs = result total ifTrue: assertBlock ]].\x0a\x09runner run",
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "new", "selectorSetOf:", "errors", "asSet", "failures", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"],
+referencedClasses: ["TestSuiteRunner", "Set", "ResultAnnouncement"]
 }),
 smalltalk.SUnitAsyncTest);
 

+ 1 - 1
st/Kernel-Tests.st

@@ -1481,7 +1481,7 @@ testAt
 !
 
 testCollect
-	self assert: #(0 2) equals: (#(5 6 8) asSet collect: [ :x | x \\ 3 ]) asArray sorted
+	self assert: #(0 2) asSet equals: (#(5 6 8) asSet collect: [ :x | x \\ 3 ])
 !
 
 testComparing

+ 6 - 6
st/SUnit-Tests.st

@@ -100,8 +100,8 @@ fakeTimeout
 
 !SUnitAsyncTest methodsFor: 'private'!
 
-sortedSelectors: aCollection
-	^(aCollection collect: [:each | each selector]) sorted
+selectorSetOf: aCollection
+	^(aCollection collect: [:each | each selector]) asSet
 ! !
 
 !SUnitAsyncTest methodsFor: 'running'!
@@ -123,8 +123,8 @@ testAsyncErrorsAndFailures
     self timeout: 200.
 	result := runner result.
     assertBlock := self async: [
-		self assert: #('fakeError') equals: (self sortedSelectors: result errors).
-		self assert: #('fakeErrorFailingInTearDown' 'fakeFailure') equals: (self sortedSelectors: result failures).
+		self assert: #('fakeError') asSet equals: (self selectorSetOf: result errors).
+		self assert: #('fakeErrorFailingInTearDown' 'fakeFailure') asSet equals: (self selectorSetOf: result failures).
 		self finished
   	].
     runner announcer on: ResultAnnouncement do: [:ann |
@@ -166,8 +166,8 @@ testTimeouts
     self timeout: 200.
 	result := runner result.
     assertBlock := self async: [
-		self assert: result errors isEmpty.
-		self assert: #('fakeMultipleTimeoutFailing' 'fakeTimeout') equals: (self sortedSelectors: result failures).
+		self assert: Set new equals: (self selectorSetOf: result errors).
+		self assert: #('fakeMultipleTimeoutFailing' 'fakeTimeout') asSet equals: (self selectorSetOf: result failures).
 		self finished
   	].
     runner announcer on: ResultAnnouncement do: [:ann |