Helios-SUnit-Tests.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. define("helios/Helios-SUnit-Tests", ["amber/boot", "amber_core/SUnit"], function($boot){
  2. var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. $core.addPackage('Helios-SUnit-Tests');
  4. $core.packages["Helios-SUnit-Tests"].transport = {"type":"amd","amdNamespace":"helios"};
  5. $core.addClass('HLSUnitModelTest', $globals.TestCase, ['model'], 'Helios-SUnit-Tests');
  6. //>>excludeStart("ide", pragmas.excludeIdeData);
  7. $globals.HLSUnitModelTest.comment="Test cases for the functionality of `HLSUnitModel`";
  8. //>>excludeEnd("ide");
  9. $core.addMethod(
  10. $core.method({
  11. selector: "setUp",
  12. protocol: 'initializing',
  13. fn: function (){
  14. var self=this;
  15. function $HLSUnitModel(){return $globals.HLSUnitModel||(typeof HLSUnitModel=="undefined"?nil:HLSUnitModel)}
  16. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  17. return $core.withContext(function($ctx1) {
  18. //>>excludeEnd("ctx");
  19. (
  20. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  21. $ctx1.supercall = true,
  22. //>>excludeEnd("ctx");
  23. $globals.HLSUnitModelTest.superclass.fn.prototype._setUp.apply($recv(self), []));
  24. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  25. $ctx1.supercall = false;
  26. //>>excludeEnd("ctx");;
  27. self["@model"]=$recv($HLSUnitModel())._new();
  28. return self;
  29. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  30. }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.HLSUnitModelTest)});
  31. //>>excludeEnd("ctx");
  32. },
  33. //>>excludeStart("ide", pragmas.excludeIdeData);
  34. args: [],
  35. source: "setUp\x0a\x09super setUp.\x0a\x09model := HLSUnitModel new",
  36. referencedClasses: ["HLSUnitModel"],
  37. //>>excludeEnd("ide");
  38. messageSends: ["setUp", "new"]
  39. }),
  40. $globals.HLSUnitModelTest);
  41. $core.addMethod(
  42. $core.method({
  43. selector: "testClassBecomesAvailable",
  44. protocol: 'tests',
  45. fn: function (){
  46. var self=this;
  47. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  48. return $core.withContext(function($ctx1) {
  49. //>>excludeEnd("ctx");
  50. var $2,$1;
  51. $2=$recv(self["@model"])._testClasses();
  52. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  53. $ctx1.sendIdx["testClasses"]=1;
  54. //>>excludeEnd("ctx");
  55. $1=$recv($2)._isEmpty();
  56. self._assert_($1);
  57. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  58. $ctx1.sendIdx["assert:"]=1;
  59. //>>excludeEnd("ctx");
  60. $recv(self["@model"])._selectPackage_(self._thisPackage());
  61. self._assert_($recv($recv(self["@model"])._testClasses())._includes_(self._class()));
  62. return self;
  63. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  64. }, function($ctx1) {$ctx1.fill(self,"testClassBecomesAvailable",{},$globals.HLSUnitModelTest)});
  65. //>>excludeEnd("ctx");
  66. },
  67. //>>excludeStart("ide", pragmas.excludeIdeData);
  68. args: [],
  69. source: "testClassBecomesAvailable\x0a\x09self assert: model testClasses isEmpty.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: (model testClasses includes: self class).",
  70. referencedClasses: [],
  71. //>>excludeEnd("ide");
  72. messageSends: ["assert:", "isEmpty", "testClasses", "selectPackage:", "thisPackage", "includes:", "class"]
  73. }),
  74. $globals.HLSUnitModelTest);
  75. $core.addMethod(
  76. $core.method({
  77. selector: "testEmptyTestResults",
  78. protocol: 'tests',
  79. fn: function (){
  80. var self=this;
  81. function $TestResult(){return $globals.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
  82. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  83. return $core.withContext(function($ctx1) {
  84. //>>excludeEnd("ctx");
  85. self._assert_($recv($recv(self["@model"])._testResult())._isKindOf_($TestResult()));
  86. return self;
  87. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  88. }, function($ctx1) {$ctx1.fill(self,"testEmptyTestResults",{},$globals.HLSUnitModelTest)});
  89. //>>excludeEnd("ctx");
  90. },
  91. //>>excludeStart("ide", pragmas.excludeIdeData);
  92. args: [],
  93. source: "testEmptyTestResults\x0a\x09self assert: (model testResult isKindOf: TestResult)",
  94. referencedClasses: ["TestResult"],
  95. //>>excludeEnd("ide");
  96. messageSends: ["assert:", "isKindOf:", "testResult"]
  97. }),
  98. $globals.HLSUnitModelTest);
  99. $core.addMethod(
  100. $core.method({
  101. selector: "testInvertSelectedClasses",
  102. protocol: 'tests',
  103. fn: function (){
  104. var self=this;
  105. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  106. return $core.withContext(function($ctx1) {
  107. //>>excludeEnd("ctx");
  108. var $1,$2,$4,$3,$6,$5,$8,$7,$10,$9;
  109. $recv(self["@model"])._selectAllPackages();
  110. $recv(self["@model"])._selectAllClasses();
  111. $1=self["@model"];
  112. $2=self._class();
  113. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  114. $ctx1.sendIdx["class"]=1;
  115. //>>excludeEnd("ctx");
  116. $recv($1)._unselectClass_($2);
  117. $4=$recv(self["@model"])._selectedClasses();
  118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  119. $ctx1.sendIdx["selectedClasses"]=1;
  120. //>>excludeEnd("ctx");
  121. $3=$recv($4)._notEmpty();
  122. self._assert_($3);
  123. $6=$recv(self["@model"])._selectedClasses();
  124. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  125. $ctx1.sendIdx["selectedClasses"]=2;
  126. //>>excludeEnd("ctx");
  127. $5=$recv($6)._size();
  128. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  129. $ctx1.sendIdx["size"]=1;
  130. //>>excludeEnd("ctx");
  131. $8=$recv($recv(self["@model"])._testClasses())._size();
  132. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  133. $ctx1.sendIdx["size"]=2;
  134. //>>excludeEnd("ctx");
  135. $7=$recv($8).__minus((1));
  136. self._assert_equals_($5,$7);
  137. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  138. $ctx1.sendIdx["assert:equals:"]=1;
  139. //>>excludeEnd("ctx");
  140. $recv(self["@model"])._invertSelectedClasses();
  141. $10=$recv(self["@model"])._selectedClasses();
  142. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  143. $ctx1.sendIdx["selectedClasses"]=3;
  144. //>>excludeEnd("ctx");
  145. $9=$recv($10)._size();
  146. self._assert_equals_($9,(1));
  147. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  148. $ctx1.sendIdx["assert:equals:"]=2;
  149. //>>excludeEnd("ctx");
  150. self._assert_equals_($recv($recv(self["@model"])._selectedClasses())._anyOne(),self._class());
  151. return self;
  152. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  153. }, function($ctx1) {$ctx1.fill(self,"testInvertSelectedClasses",{},$globals.HLSUnitModelTest)});
  154. //>>excludeEnd("ctx");
  155. },
  156. //>>excludeStart("ide", pragmas.excludeIdeData);
  157. args: [],
  158. source: "testInvertSelectedClasses\x0a\x09model selectAllPackages.\x0a\x09model selectAllClasses.\x0a\x09model unselectClass: self class.\x0a\x09self assert: model selectedClasses notEmpty.\x0a\x09self assert: model selectedClasses size equals: model testClasses size - 1.\x0a\x09model invertSelectedClasses.\x0a\x09self assert: model selectedClasses size equals: 1.\x0a\x09self assert: model selectedClasses anyOne equals: self class.",
  159. referencedClasses: [],
  160. //>>excludeEnd("ide");
  161. messageSends: ["selectAllPackages", "selectAllClasses", "unselectClass:", "class", "assert:", "notEmpty", "selectedClasses", "assert:equals:", "size", "-", "testClasses", "invertSelectedClasses", "anyOne"]
  162. }),
  163. $globals.HLSUnitModelTest);
  164. $core.addMethod(
  165. $core.method({
  166. selector: "testInvertSelectedPackages",
  167. protocol: 'tests',
  168. fn: function (){
  169. var self=this;
  170. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  171. return $core.withContext(function($ctx1) {
  172. //>>excludeEnd("ctx");
  173. var $1,$2,$4,$3,$6,$5,$8,$7,$10,$9;
  174. $recv(self["@model"])._selectAllPackages();
  175. $1=self["@model"];
  176. $2=self._thisPackage();
  177. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  178. $ctx1.sendIdx["thisPackage"]=1;
  179. //>>excludeEnd("ctx");
  180. $recv($1)._unselectPackage_($2);
  181. $4=$recv(self["@model"])._selectedPackages();
  182. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  183. $ctx1.sendIdx["selectedPackages"]=1;
  184. //>>excludeEnd("ctx");
  185. $3=$recv($4)._notEmpty();
  186. self._assert_($3);
  187. $6=$recv(self["@model"])._selectedPackages();
  188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  189. $ctx1.sendIdx["selectedPackages"]=2;
  190. //>>excludeEnd("ctx");
  191. $5=$recv($6)._size();
  192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  193. $ctx1.sendIdx["size"]=1;
  194. //>>excludeEnd("ctx");
  195. $8=$recv($recv(self["@model"])._testPackages())._size();
  196. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  197. $ctx1.sendIdx["size"]=2;
  198. //>>excludeEnd("ctx");
  199. $7=$recv($8).__minus((1));
  200. self._assert_equals_($5,$7);
  201. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  202. $ctx1.sendIdx["assert:equals:"]=1;
  203. //>>excludeEnd("ctx");
  204. $recv(self["@model"])._invertSelectedPackages();
  205. $10=$recv(self["@model"])._selectedPackages();
  206. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  207. $ctx1.sendIdx["selectedPackages"]=3;
  208. //>>excludeEnd("ctx");
  209. $9=$recv($10)._size();
  210. self._assert_equals_($9,(1));
  211. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  212. $ctx1.sendIdx["assert:equals:"]=2;
  213. //>>excludeEnd("ctx");
  214. self._assert_equals_($recv($recv(self["@model"])._selectedPackages())._anyOne(),self._thisPackage());
  215. return self;
  216. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  217. }, function($ctx1) {$ctx1.fill(self,"testInvertSelectedPackages",{},$globals.HLSUnitModelTest)});
  218. //>>excludeEnd("ctx");
  219. },
  220. //>>excludeStart("ide", pragmas.excludeIdeData);
  221. args: [],
  222. source: "testInvertSelectedPackages\x0a\x09model selectAllPackages.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages notEmpty.\x0a\x09self assert: model selectedPackages size equals: model testPackages size - 1.\x0a\x09model invertSelectedPackages.\x0a\x09self assert: model selectedPackages size equals: 1.\x0a\x09self assert: model selectedPackages anyOne equals: self thisPackage.",
  223. referencedClasses: [],
  224. //>>excludeEnd("ide");
  225. messageSends: ["selectAllPackages", "unselectPackage:", "thisPackage", "assert:", "notEmpty", "selectedPackages", "assert:equals:", "size", "-", "testPackages", "invertSelectedPackages", "anyOne"]
  226. }),
  227. $globals.HLSUnitModelTest);
  228. $core.addMethod(
  229. $core.method({
  230. selector: "testSelectAllClasses",
  231. protocol: 'tests',
  232. fn: function (){
  233. var self=this;
  234. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  235. return $core.withContext(function($ctx1) {
  236. //>>excludeEnd("ctx");
  237. var $2,$1,$3;
  238. $recv(self["@model"])._selectAllPackages();
  239. $2=$recv(self["@model"])._testClasses();
  240. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  241. $ctx1.sendIdx["testClasses"]=1;
  242. //>>excludeEnd("ctx");
  243. $1=$recv($2)._notEmpty();
  244. self._assert_($1);
  245. $recv(self["@model"])._selectAllClasses();
  246. $3=$recv($recv(self["@model"])._selectedClasses())._size();
  247. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  248. $ctx1.sendIdx["size"]=1;
  249. //>>excludeEnd("ctx");
  250. self._assert_equals_($3,$recv($recv(self["@model"])._testClasses())._size());
  251. return self;
  252. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  253. }, function($ctx1) {$ctx1.fill(self,"testSelectAllClasses",{},$globals.HLSUnitModelTest)});
  254. //>>excludeEnd("ctx");
  255. },
  256. //>>excludeStart("ide", pragmas.excludeIdeData);
  257. args: [],
  258. source: "testSelectAllClasses\x0a\x09model selectAllPackages.\x0a\x09self assert: model testClasses notEmpty.\x0a\x09model selectAllClasses.\x0a\x09self assert: model selectedClasses size equals: model testClasses size",
  259. referencedClasses: [],
  260. //>>excludeEnd("ide");
  261. messageSends: ["selectAllPackages", "assert:", "notEmpty", "testClasses", "selectAllClasses", "assert:equals:", "size", "selectedClasses"]
  262. }),
  263. $globals.HLSUnitModelTest);
  264. $core.addMethod(
  265. $core.method({
  266. selector: "testSelectAllPackages",
  267. protocol: 'tests',
  268. fn: function (){
  269. var self=this;
  270. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  271. return $core.withContext(function($ctx1) {
  272. //>>excludeEnd("ctx");
  273. var $2,$1,$3;
  274. $2=$recv(self["@model"])._selectedPackages();
  275. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  276. $ctx1.sendIdx["selectedPackages"]=1;
  277. //>>excludeEnd("ctx");
  278. $1=$recv($2)._isEmpty();
  279. self._assert_($1);
  280. $recv(self["@model"])._selectAllPackages();
  281. $3=$recv($recv(self["@model"])._selectedPackages())._size();
  282. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  283. $ctx1.sendIdx["size"]=1;
  284. //>>excludeEnd("ctx");
  285. self._assert_equals_($3,$recv($recv(self["@model"])._testPackages())._size());
  286. return self;
  287. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  288. }, function($ctx1) {$ctx1.fill(self,"testSelectAllPackages",{},$globals.HLSUnitModelTest)});
  289. //>>excludeEnd("ctx");
  290. },
  291. //>>excludeStart("ide", pragmas.excludeIdeData);
  292. args: [],
  293. source: "testSelectAllPackages\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model selectAllPackages.\x0a\x09self assert: model selectedPackages size equals: model testPackages size",
  294. referencedClasses: [],
  295. //>>excludeEnd("ide");
  296. messageSends: ["assert:", "isEmpty", "selectedPackages", "selectAllPackages", "assert:equals:", "size", "testPackages"]
  297. }),
  298. $globals.HLSUnitModelTest);
  299. $core.addMethod(
  300. $core.method({
  301. selector: "testSelectClass",
  302. protocol: 'tests',
  303. fn: function (){
  304. var self=this;
  305. var announcementFired;
  306. function $HLClassSelected(){return $globals.HLClassSelected||(typeof HLClassSelected=="undefined"?nil:HLClassSelected)}
  307. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  308. return $core.withContext(function($ctx1) {
  309. //>>excludeEnd("ctx");
  310. var $2,$1,$3,$4;
  311. $recv(self["@model"])._selectPackage_(self._thisPackage());
  312. $2=$recv(self["@model"])._selectedClasses();
  313. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  314. $ctx1.sendIdx["selectedClasses"]=1;
  315. //>>excludeEnd("ctx");
  316. $1=$recv($2)._isEmpty();
  317. self._assert_($1);
  318. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  319. $ctx1.sendIdx["assert:"]=1;
  320. //>>excludeEnd("ctx");
  321. $recv($recv(self["@model"])._announcer())._on_do_for_($HLClassSelected(),(function(){
  322. announcementFired=true;
  323. return announcementFired;
  324. }),self);
  325. $3=self["@model"];
  326. $4=self._class();
  327. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  328. $ctx1.sendIdx["class"]=1;
  329. //>>excludeEnd("ctx");
  330. $recv($3)._selectClass_($4);
  331. self._assert_equals_($recv($recv(self["@model"])._selectedClasses())._anyOne(),self._class());
  332. self._assert_(announcementFired);
  333. return self;
  334. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  335. }, function($ctx1) {$ctx1.fill(self,"testSelectClass",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  336. //>>excludeEnd("ctx");
  337. },
  338. //>>excludeStart("ide", pragmas.excludeIdeData);
  339. args: [],
  340. source: "testSelectClass\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: model selectedClasses isEmpty.\x0a\x09model announcer on: HLClassSelected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model selectClass: self class.\x0a\x09self assert: model selectedClasses anyOne equals: self class.\x0a\x09self assert: announcementFired.",
  341. referencedClasses: ["HLClassSelected"],
  342. //>>excludeEnd("ide");
  343. messageSends: ["selectPackage:", "thisPackage", "assert:", "isEmpty", "selectedClasses", "on:do:for:", "announcer", "selectClass:", "class", "assert:equals:", "anyOne"]
  344. }),
  345. $globals.HLSUnitModelTest);
  346. $core.addMethod(
  347. $core.method({
  348. selector: "testSelectPackage",
  349. protocol: 'tests',
  350. fn: function (){
  351. var self=this;
  352. var announcementFired;
  353. function $HLPackageSelected(){return $globals.HLPackageSelected||(typeof HLPackageSelected=="undefined"?nil:HLPackageSelected)}
  354. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  355. return $core.withContext(function($ctx1) {
  356. //>>excludeEnd("ctx");
  357. var $2,$1,$3,$4;
  358. $2=$recv(self["@model"])._selectedPackages();
  359. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  360. $ctx1.sendIdx["selectedPackages"]=1;
  361. //>>excludeEnd("ctx");
  362. $1=$recv($2)._isEmpty();
  363. self._assert_($1);
  364. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  365. $ctx1.sendIdx["assert:"]=1;
  366. //>>excludeEnd("ctx");
  367. $recv($recv(self["@model"])._announcer())._on_do_for_($HLPackageSelected(),(function(){
  368. announcementFired=true;
  369. return announcementFired;
  370. }),self);
  371. $3=self["@model"];
  372. $4=self._thisPackage();
  373. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  374. $ctx1.sendIdx["thisPackage"]=1;
  375. //>>excludeEnd("ctx");
  376. $recv($3)._selectPackage_($4);
  377. self._assert_equals_($recv($recv(self["@model"])._selectedPackages())._anyOne(),self._thisPackage());
  378. self._assert_(announcementFired);
  379. return self;
  380. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  381. }, function($ctx1) {$ctx1.fill(self,"testSelectPackage",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  382. //>>excludeEnd("ctx");
  383. },
  384. //>>excludeStart("ide", pragmas.excludeIdeData);
  385. args: [],
  386. source: "testSelectPackage\x0a\x09| announcementFired |\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model announcer on: HLPackageSelected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages anyOne equals: self thisPackage.\x0a\x09self assert: announcementFired",
  387. referencedClasses: ["HLPackageSelected"],
  388. //>>excludeEnd("ide");
  389. messageSends: ["assert:", "isEmpty", "selectedPackages", "on:do:for:", "announcer", "selectPackage:", "thisPackage", "assert:equals:", "anyOne"]
  390. }),
  391. $globals.HLSUnitModelTest);
  392. $core.addMethod(
  393. $core.method({
  394. selector: "testSelectedClassNotListedIfPackageUnselected",
  395. protocol: 'tests',
  396. fn: function (){
  397. var self=this;
  398. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  399. return $core.withContext(function($ctx1) {
  400. //>>excludeEnd("ctx");
  401. var $1,$2,$3,$4,$6,$5;
  402. $1=self["@model"];
  403. $2=self._thisPackage();
  404. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  405. $ctx1.sendIdx["thisPackage"]=1;
  406. //>>excludeEnd("ctx");
  407. $recv($1)._selectPackage_($2);
  408. $3=self["@model"];
  409. $4=self._class();
  410. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  411. $ctx1.sendIdx["class"]=1;
  412. //>>excludeEnd("ctx");
  413. $recv($3)._selectClass_($4);
  414. $6=$recv(self["@model"])._selectedClasses();
  415. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  416. $ctx1.sendIdx["selectedClasses"]=1;
  417. //>>excludeEnd("ctx");
  418. $5=$recv($6)._anyOne();
  419. self._assert_equals_($5,self._class());
  420. $recv(self["@model"])._unselectPackage_(self._thisPackage());
  421. self._assert_($recv($recv(self["@model"])._selectedClasses())._isEmpty());
  422. return self;
  423. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  424. }, function($ctx1) {$ctx1.fill(self,"testSelectedClassNotListedIfPackageUnselected",{},$globals.HLSUnitModelTest)});
  425. //>>excludeEnd("ctx");
  426. },
  427. //>>excludeStart("ide", pragmas.excludeIdeData);
  428. args: [],
  429. source: "testSelectedClassNotListedIfPackageUnselected\x0a\x09model selectPackage: self thisPackage.\x0a\x09model selectClass: self class.\x0a\x09self assert: model selectedClasses anyOne equals: self class.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedClasses isEmpty.",
  430. referencedClasses: [],
  431. //>>excludeEnd("ide");
  432. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "assert:equals:", "anyOne", "selectedClasses", "unselectPackage:", "assert:", "isEmpty"]
  433. }),
  434. $globals.HLSUnitModelTest);
  435. $core.addMethod(
  436. $core.method({
  437. selector: "testTestClassHasOnlyTestClasses",
  438. protocol: 'tests',
  439. fn: function (){
  440. var self=this;
  441. var notATestClass;
  442. function $Object(){return $globals.Object||(typeof Object=="undefined"?nil:Object)}
  443. function $Smalltalk(){return $globals.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
  444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  445. return $core.withContext(function($ctx1) {
  446. //>>excludeEnd("ctx");
  447. notATestClass=$recv($Object())._subclass_instanceVariableNames_package_("HLNotATestClass","",$recv(self._class())._category());
  448. $recv(self["@model"])._selectPackage_(self._thisPackage());
  449. self._deny_($recv($recv(self["@model"])._testClasses())._includes_(notATestClass));
  450. $recv($Smalltalk())._removeClass_(notATestClass);
  451. return self;
  452. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  453. }, function($ctx1) {$ctx1.fill(self,"testTestClassHasOnlyTestClasses",{notATestClass:notATestClass},$globals.HLSUnitModelTest)});
  454. //>>excludeEnd("ctx");
  455. },
  456. //>>excludeStart("ide", pragmas.excludeIdeData);
  457. args: [],
  458. source: "testTestClassHasOnlyTestClasses\x0a\x09| notATestClass |\x0a\x09notATestClass := Object subclass: #HLNotATestClass\x0a\x09\x09instanceVariableNames: ''\x0a\x09\x09package: self class category.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self deny: (model testClasses includes: notATestClass).\x0a\x09Smalltalk removeClass: notATestClass.",
  459. referencedClasses: ["Object", "Smalltalk"],
  460. //>>excludeEnd("ide");
  461. messageSends: ["subclass:instanceVariableNames:package:", "category", "class", "selectPackage:", "thisPackage", "deny:", "includes:", "testClasses", "removeClass:"]
  462. }),
  463. $globals.HLSUnitModelTest);
  464. $core.addMethod(
  465. $core.method({
  466. selector: "testTestPackages",
  467. protocol: 'tests',
  468. fn: function (){
  469. var self=this;
  470. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  471. return $core.withContext(function($ctx1) {
  472. //>>excludeEnd("ctx");
  473. var $2,$1;
  474. $2=$recv(self["@model"])._testPackages();
  475. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  476. $ctx1.sendIdx["testPackages"]=1;
  477. //>>excludeEnd("ctx");
  478. $1=$recv($2)._notEmpty();
  479. self._assert_($1);
  480. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  481. $ctx1.sendIdx["assert:"]=1;
  482. //>>excludeEnd("ctx");
  483. self._assert_($recv($recv(self["@model"])._testPackages())._anySatisfy_((function(each){
  484. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  485. return $core.withContext(function($ctx2) {
  486. //>>excludeEnd("ctx");
  487. return $recv(each).__eq(self._thisPackage());
  488. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  489. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  490. //>>excludeEnd("ctx");
  491. })));
  492. return self;
  493. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  494. }, function($ctx1) {$ctx1.fill(self,"testTestPackages",{},$globals.HLSUnitModelTest)});
  495. //>>excludeEnd("ctx");
  496. },
  497. //>>excludeStart("ide", pragmas.excludeIdeData);
  498. args: [],
  499. source: "testTestPackages\x0a\x09self assert: model testPackages notEmpty.\x0a\x09self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).",
  500. referencedClasses: [],
  501. //>>excludeEnd("ide");
  502. messageSends: ["assert:", "notEmpty", "testPackages", "anySatisfy:", "=", "thisPackage"]
  503. }),
  504. $globals.HLSUnitModelTest);
  505. $core.addMethod(
  506. $core.method({
  507. selector: "testUnselectClass",
  508. protocol: 'tests',
  509. fn: function (){
  510. var self=this;
  511. var announcementFired;
  512. function $HLClassUnselected(){return $globals.HLClassUnselected||(typeof HLClassUnselected=="undefined"?nil:HLClassUnselected)}
  513. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  514. return $core.withContext(function($ctx1) {
  515. //>>excludeEnd("ctx");
  516. var $1,$2;
  517. $recv(self["@model"])._selectPackage_(self._thisPackage());
  518. $1=self["@model"];
  519. $2=self._class();
  520. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  521. $ctx1.sendIdx["class"]=1;
  522. //>>excludeEnd("ctx");
  523. $recv($1)._selectClass_($2);
  524. $recv($recv(self["@model"])._announcer())._on_do_for_($HLClassUnselected(),(function(){
  525. announcementFired=true;
  526. return announcementFired;
  527. }),self);
  528. $recv(self["@model"])._unselectClass_(self._class());
  529. self._assert_($recv($recv(self["@model"])._selectedClasses())._isEmpty());
  530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  531. $ctx1.sendIdx["assert:"]=1;
  532. //>>excludeEnd("ctx");
  533. self._assert_(announcementFired);
  534. return self;
  535. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  536. }, function($ctx1) {$ctx1.fill(self,"testUnselectClass",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  537. //>>excludeEnd("ctx");
  538. },
  539. //>>excludeStart("ide", pragmas.excludeIdeData);
  540. args: [],
  541. source: "testUnselectClass\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09model selectClass: self class.\x0a\x09model announcer on: HLClassUnselected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model unselectClass: self class.\x0a\x09self assert: model selectedClasses isEmpty.\x0a\x09self assert: announcementFired",
  542. referencedClasses: ["HLClassUnselected"],
  543. //>>excludeEnd("ide");
  544. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "on:do:for:", "announcer", "unselectClass:", "assert:", "isEmpty", "selectedClasses"]
  545. }),
  546. $globals.HLSUnitModelTest);
  547. $core.addMethod(
  548. $core.method({
  549. selector: "testUnselectPackage",
  550. protocol: 'tests',
  551. fn: function (){
  552. var self=this;
  553. var announcementFired;
  554. function $HLPackageUnselected(){return $globals.HLPackageUnselected||(typeof HLPackageUnselected=="undefined"?nil:HLPackageUnselected)}
  555. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  556. return $core.withContext(function($ctx1) {
  557. //>>excludeEnd("ctx");
  558. var $1,$2;
  559. $1=self["@model"];
  560. $2=self._thisPackage();
  561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  562. $ctx1.sendIdx["thisPackage"]=1;
  563. //>>excludeEnd("ctx");
  564. $recv($1)._selectPackage_($2);
  565. $recv($recv(self["@model"])._announcer())._on_do_for_($HLPackageUnselected(),(function(){
  566. announcementFired=true;
  567. return announcementFired;
  568. }),self);
  569. $recv(self["@model"])._unselectPackage_(self._thisPackage());
  570. self._assert_($recv($recv(self["@model"])._selectedPackages())._isEmpty());
  571. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  572. $ctx1.sendIdx["assert:"]=1;
  573. //>>excludeEnd("ctx");
  574. self._assert_(announcementFired);
  575. return self;
  576. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  577. }, function($ctx1) {$ctx1.fill(self,"testUnselectPackage",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  578. //>>excludeEnd("ctx");
  579. },
  580. //>>excludeStart("ide", pragmas.excludeIdeData);
  581. args: [],
  582. source: "testUnselectPackage\x0a\x09| announcementFired |\x0a\x09model selectPackage: self thisPackage.\x0a\x09model announcer on: HLPackageUnselected\x0a\x09\x09do: [ announcementFired := true ]\x0a\x09\x09for: self.\x0a\x09model unselectPackage: self thisPackage.\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09self assert: announcementFired.",
  583. referencedClasses: ["HLPackageUnselected"],
  584. //>>excludeEnd("ide");
  585. messageSends: ["selectPackage:", "thisPackage", "on:do:for:", "announcer", "unselectPackage:", "assert:", "isEmpty", "selectedPackages"]
  586. }),
  587. $globals.HLSUnitModelTest);
  588. $core.addMethod(
  589. $core.method({
  590. selector: "thisPackage",
  591. protocol: 'accessing',
  592. fn: function (){
  593. var self=this;
  594. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  595. return $core.withContext(function($ctx1) {
  596. //>>excludeEnd("ctx");
  597. var $1;
  598. $1=$recv(self._class())._package();
  599. return $1;
  600. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  601. }, function($ctx1) {$ctx1.fill(self,"thisPackage",{},$globals.HLSUnitModelTest)});
  602. //>>excludeEnd("ctx");
  603. },
  604. //>>excludeStart("ide", pragmas.excludeIdeData);
  605. args: [],
  606. source: "thisPackage\x0a\x09^self class package",
  607. referencedClasses: [],
  608. //>>excludeEnd("ide");
  609. messageSends: ["package", "class"]
  610. }),
  611. $globals.HLSUnitModelTest);
  612. });