Helios-SUnit-Tests.js 25 KB

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