Helios-SUnit-Tests.js 25 KB

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