Helios-SUnit-Tests.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627
  1. define(["amber/boot", "amber_core/SUnit"], function($boot){"use strict";
  2. if(!$boot.nilAsReceiver)$boot.nilAsReceiver=$boot.nil;
  3. if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
  4. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  5. if(!$boot.nilAsClass)$boot.nilAsClass=$boot.dnu;
  6. $core.addPackage("Helios-SUnit-Tests");
  7. $core.packages["Helios-SUnit-Tests"].innerEval = function (expr) { return eval(expr); };
  8. $core.packages["Helios-SUnit-Tests"].transport = {"type":"amd","amdNamespace":"helios"};
  9. $core.addClass("HLSUnitModelTest", $globals.TestCase, ["model"], "Helios-SUnit-Tests");
  10. //>>excludeStart("ide", pragmas.excludeIdeData);
  11. $globals.HLSUnitModelTest.comment="Test cases for the functionality of `HLSUnitModel`";
  12. //>>excludeEnd("ide");
  13. $core.addMethod(
  14. $core.method({
  15. selector: "setUp",
  16. protocol: "initializing",
  17. fn: function (){
  18. var self=this,$self=this;
  19. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  20. return $core.withContext(function($ctx1) {
  21. //>>excludeEnd("ctx");
  22. (
  23. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  24. $ctx1.supercall = true,
  25. //>>excludeEnd("ctx");
  26. ($globals.HLSUnitModelTest.superclass||$boot.nilAsClass).fn.prototype._setUp.apply($self, []));
  27. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  28. $ctx1.supercall = false;
  29. //>>excludeEnd("ctx");;
  30. $self["@model"]=$recv($globals.HLSUnitModel)._new();
  31. return self;
  32. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  33. }, function($ctx1) {$ctx1.fill(self,"setUp",{},$globals.HLSUnitModelTest)});
  34. //>>excludeEnd("ctx");
  35. },
  36. //>>excludeStart("ide", pragmas.excludeIdeData);
  37. args: [],
  38. source: "setUp\x0a\x09super setUp.\x0a\x09model := HLSUnitModel new",
  39. referencedClasses: ["HLSUnitModel"],
  40. //>>excludeEnd("ide");
  41. messageSends: ["setUp", "new"]
  42. }),
  43. $globals.HLSUnitModelTest);
  44. $core.addMethod(
  45. $core.method({
  46. selector: "testClassBecomesAvailable",
  47. protocol: "tests",
  48. fn: function (){
  49. var self=this,$self=this;
  50. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  51. return $core.withContext(function($ctx1) {
  52. //>>excludeEnd("ctx");
  53. var $2,$1;
  54. $2=$recv($self["@model"])._testClasses();
  55. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  56. $ctx1.sendIdx["testClasses"]=1;
  57. //>>excludeEnd("ctx");
  58. $1=$recv($2)._isEmpty();
  59. $self._assert_($1);
  60. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  61. $ctx1.sendIdx["assert:"]=1;
  62. //>>excludeEnd("ctx");
  63. $recv($self["@model"])._selectPackage_($self._thisPackage());
  64. $self._assert_($recv($recv($self["@model"])._testClasses())._includes_($self._class()));
  65. return self;
  66. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  67. }, function($ctx1) {$ctx1.fill(self,"testClassBecomesAvailable",{},$globals.HLSUnitModelTest)});
  68. //>>excludeEnd("ctx");
  69. },
  70. //>>excludeStart("ide", pragmas.excludeIdeData);
  71. args: [],
  72. source: "testClassBecomesAvailable\x0a\x09self assert: model testClasses isEmpty.\x0a\x09model selectPackage: self thisPackage.\x0a\x09self assert: (model testClasses includes: self class).",
  73. referencedClasses: [],
  74. //>>excludeEnd("ide");
  75. messageSends: ["assert:", "isEmpty", "testClasses", "selectPackage:", "thisPackage", "includes:", "class"]
  76. }),
  77. $globals.HLSUnitModelTest);
  78. $core.addMethod(
  79. $core.method({
  80. selector: "testEmptyTestResults",
  81. protocol: "tests",
  82. fn: function (){
  83. var self=this,$self=this;
  84. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  85. return $core.withContext(function($ctx1) {
  86. //>>excludeEnd("ctx");
  87. $self._assert_($recv($recv($self["@model"])._testResult())._isKindOf_($globals.TestResult));
  88. return self;
  89. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  90. }, function($ctx1) {$ctx1.fill(self,"testEmptyTestResults",{},$globals.HLSUnitModelTest)});
  91. //>>excludeEnd("ctx");
  92. },
  93. //>>excludeStart("ide", pragmas.excludeIdeData);
  94. args: [],
  95. source: "testEmptyTestResults\x0a\x09self assert: (model testResult isKindOf: TestResult)",
  96. referencedClasses: ["TestResult"],
  97. //>>excludeEnd("ide");
  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",{},$globals.HLSUnitModelTest)});
  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. messageSends: ["selectAllPackages", "selectAllClasses", "unselectClass:", "class", "assert:", "notEmpty", "selectedClasses", "assert:equals:", "size", "-", "testClasses", "invertSelectedClasses", "anyOne"]
  164. }),
  165. $globals.HLSUnitModelTest);
  166. $core.addMethod(
  167. $core.method({
  168. selector: "testInvertSelectedPackages",
  169. protocol: "tests",
  170. fn: function (){
  171. var self=this,$self=this;
  172. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  173. return $core.withContext(function($ctx1) {
  174. //>>excludeEnd("ctx");
  175. var $1,$2,$4,$3,$6,$5,$8,$7,$10,$9;
  176. $recv($self["@model"])._selectAllPackages();
  177. $1=$self["@model"];
  178. $2=$self._thisPackage();
  179. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  180. $ctx1.sendIdx["thisPackage"]=1;
  181. //>>excludeEnd("ctx");
  182. $recv($1)._unselectPackage_($2);
  183. $4=$recv($self["@model"])._selectedPackages();
  184. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  185. $ctx1.sendIdx["selectedPackages"]=1;
  186. //>>excludeEnd("ctx");
  187. $3=$recv($4)._notEmpty();
  188. $self._assert_($3);
  189. $6=$recv($self["@model"])._selectedPackages();
  190. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  191. $ctx1.sendIdx["selectedPackages"]=2;
  192. //>>excludeEnd("ctx");
  193. $5=$recv($6)._size();
  194. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  195. $ctx1.sendIdx["size"]=1;
  196. //>>excludeEnd("ctx");
  197. $8=$recv($recv($self["@model"])._testPackages())._size();
  198. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  199. $ctx1.sendIdx["size"]=2;
  200. //>>excludeEnd("ctx");
  201. $7=$recv($8).__minus((1));
  202. $self._assert_equals_($5,$7);
  203. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  204. $ctx1.sendIdx["assert:equals:"]=1;
  205. //>>excludeEnd("ctx");
  206. $recv($self["@model"])._invertSelectedPackages();
  207. $10=$recv($self["@model"])._selectedPackages();
  208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  209. $ctx1.sendIdx["selectedPackages"]=3;
  210. //>>excludeEnd("ctx");
  211. $9=$recv($10)._size();
  212. $self._assert_equals_($9,(1));
  213. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  214. $ctx1.sendIdx["assert:equals:"]=2;
  215. //>>excludeEnd("ctx");
  216. $self._assert_equals_($recv($recv($self["@model"])._selectedPackages())._anyOne(),$self._thisPackage());
  217. return self;
  218. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  219. }, function($ctx1) {$ctx1.fill(self,"testInvertSelectedPackages",{},$globals.HLSUnitModelTest)});
  220. //>>excludeEnd("ctx");
  221. },
  222. //>>excludeStart("ide", pragmas.excludeIdeData);
  223. args: [],
  224. 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.",
  225. referencedClasses: [],
  226. //>>excludeEnd("ide");
  227. messageSends: ["selectAllPackages", "unselectPackage:", "thisPackage", "assert:", "notEmpty", "selectedPackages", "assert:equals:", "size", "-", "testPackages", "invertSelectedPackages", "anyOne"]
  228. }),
  229. $globals.HLSUnitModelTest);
  230. $core.addMethod(
  231. $core.method({
  232. selector: "testSelectAllClasses",
  233. protocol: "tests",
  234. fn: function (){
  235. var self=this,$self=this;
  236. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  237. return $core.withContext(function($ctx1) {
  238. //>>excludeEnd("ctx");
  239. var $2,$1,$3;
  240. $recv($self["@model"])._selectAllPackages();
  241. $2=$recv($self["@model"])._testClasses();
  242. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  243. $ctx1.sendIdx["testClasses"]=1;
  244. //>>excludeEnd("ctx");
  245. $1=$recv($2)._notEmpty();
  246. $self._assert_($1);
  247. $recv($self["@model"])._selectAllClasses();
  248. $3=$recv($recv($self["@model"])._selectedClasses())._size();
  249. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  250. $ctx1.sendIdx["size"]=1;
  251. //>>excludeEnd("ctx");
  252. $self._assert_equals_($3,$recv($recv($self["@model"])._testClasses())._size());
  253. return self;
  254. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  255. }, function($ctx1) {$ctx1.fill(self,"testSelectAllClasses",{},$globals.HLSUnitModelTest)});
  256. //>>excludeEnd("ctx");
  257. },
  258. //>>excludeStart("ide", pragmas.excludeIdeData);
  259. args: [],
  260. source: "testSelectAllClasses\x0a\x09model selectAllPackages.\x0a\x09self assert: model testClasses notEmpty.\x0a\x09model selectAllClasses.\x0a\x09self assert: model selectedClasses size equals: model testClasses size",
  261. referencedClasses: [],
  262. //>>excludeEnd("ide");
  263. messageSends: ["selectAllPackages", "assert:", "notEmpty", "testClasses", "selectAllClasses", "assert:equals:", "size", "selectedClasses"]
  264. }),
  265. $globals.HLSUnitModelTest);
  266. $core.addMethod(
  267. $core.method({
  268. selector: "testSelectAllPackages",
  269. protocol: "tests",
  270. fn: function (){
  271. var self=this,$self=this;
  272. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  273. return $core.withContext(function($ctx1) {
  274. //>>excludeEnd("ctx");
  275. var $2,$1,$3;
  276. $2=$recv($self["@model"])._selectedPackages();
  277. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  278. $ctx1.sendIdx["selectedPackages"]=1;
  279. //>>excludeEnd("ctx");
  280. $1=$recv($2)._isEmpty();
  281. $self._assert_($1);
  282. $recv($self["@model"])._selectAllPackages();
  283. $3=$recv($recv($self["@model"])._selectedPackages())._size();
  284. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  285. $ctx1.sendIdx["size"]=1;
  286. //>>excludeEnd("ctx");
  287. $self._assert_equals_($3,$recv($recv($self["@model"])._testPackages())._size());
  288. return self;
  289. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  290. }, function($ctx1) {$ctx1.fill(self,"testSelectAllPackages",{},$globals.HLSUnitModelTest)});
  291. //>>excludeEnd("ctx");
  292. },
  293. //>>excludeStart("ide", pragmas.excludeIdeData);
  294. args: [],
  295. source: "testSelectAllPackages\x0a\x09self assert: model selectedPackages isEmpty.\x0a\x09model selectAllPackages.\x0a\x09self assert: model selectedPackages size equals: model testPackages size",
  296. referencedClasses: [],
  297. //>>excludeEnd("ide");
  298. messageSends: ["assert:", "isEmpty", "selectedPackages", "selectAllPackages", "assert:equals:", "size", "testPackages"]
  299. }),
  300. $globals.HLSUnitModelTest);
  301. $core.addMethod(
  302. $core.method({
  303. selector: "testSelectClass",
  304. protocol: "tests",
  305. fn: function (){
  306. var self=this,$self=this;
  307. var announcementFired;
  308. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  309. return $core.withContext(function($ctx1) {
  310. //>>excludeEnd("ctx");
  311. var $2,$1,$3,$4;
  312. $recv($self["@model"])._selectPackage_($self._thisPackage());
  313. $2=$recv($self["@model"])._selectedClasses();
  314. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  315. $ctx1.sendIdx["selectedClasses"]=1;
  316. //>>excludeEnd("ctx");
  317. $1=$recv($2)._isEmpty();
  318. $self._assert_($1);
  319. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  320. $ctx1.sendIdx["assert:"]=1;
  321. //>>excludeEnd("ctx");
  322. $recv($recv($self["@model"])._announcer())._on_do_for_($globals.HLClassSelected,(function(){
  323. announcementFired=true;
  324. return announcementFired;
  325. }),self);
  326. $3=$self["@model"];
  327. $4=$self._class();
  328. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  329. $ctx1.sendIdx["class"]=1;
  330. //>>excludeEnd("ctx");
  331. $recv($3)._selectClass_($4);
  332. $self._assert_equals_($recv($recv($self["@model"])._selectedClasses())._anyOne(),$self._class());
  333. $self._assert_(announcementFired);
  334. return self;
  335. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  336. }, function($ctx1) {$ctx1.fill(self,"testSelectClass",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  337. //>>excludeEnd("ctx");
  338. },
  339. //>>excludeStart("ide", pragmas.excludeIdeData);
  340. args: [],
  341. 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.",
  342. referencedClasses: ["HLClassSelected"],
  343. //>>excludeEnd("ide");
  344. messageSends: ["selectPackage:", "thisPackage", "assert:", "isEmpty", "selectedClasses", "on:do:for:", "announcer", "selectClass:", "class", "assert:equals:", "anyOne"]
  345. }),
  346. $globals.HLSUnitModelTest);
  347. $core.addMethod(
  348. $core.method({
  349. selector: "testSelectPackage",
  350. protocol: "tests",
  351. fn: function (){
  352. var self=this,$self=this;
  353. var announcementFired;
  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_($globals.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,$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,$self=this;
  441. var notATestClass;
  442. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  443. return $core.withContext(function($ctx1) {
  444. //>>excludeEnd("ctx");
  445. notATestClass=$recv($globals.Object)._subclass_instanceVariableNames_package_("HLNotATestClass","",$recv($self._class())._category());
  446. $recv($self["@model"])._selectPackage_($self._thisPackage());
  447. $self._deny_($recv($recv($self["@model"])._testClasses())._includes_(notATestClass));
  448. $recv($globals.Smalltalk)._removeClass_(notATestClass);
  449. return self;
  450. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  451. }, function($ctx1) {$ctx1.fill(self,"testTestClassHasOnlyTestClasses",{notATestClass:notATestClass},$globals.HLSUnitModelTest)});
  452. //>>excludeEnd("ctx");
  453. },
  454. //>>excludeStart("ide", pragmas.excludeIdeData);
  455. args: [],
  456. 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.",
  457. referencedClasses: ["Object", "Smalltalk"],
  458. //>>excludeEnd("ide");
  459. messageSends: ["subclass:instanceVariableNames:package:", "category", "class", "selectPackage:", "thisPackage", "deny:", "includes:", "testClasses", "removeClass:"]
  460. }),
  461. $globals.HLSUnitModelTest);
  462. $core.addMethod(
  463. $core.method({
  464. selector: "testTestPackages",
  465. protocol: "tests",
  466. fn: function (){
  467. var self=this,$self=this;
  468. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  469. return $core.withContext(function($ctx1) {
  470. //>>excludeEnd("ctx");
  471. var $2,$1;
  472. $2=$recv($self["@model"])._testPackages();
  473. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  474. $ctx1.sendIdx["testPackages"]=1;
  475. //>>excludeEnd("ctx");
  476. $1=$recv($2)._notEmpty();
  477. $self._assert_($1);
  478. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  479. $ctx1.sendIdx["assert:"]=1;
  480. //>>excludeEnd("ctx");
  481. $self._assert_($recv($recv($self["@model"])._testPackages())._anySatisfy_((function(each){
  482. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  483. return $core.withContext(function($ctx2) {
  484. //>>excludeEnd("ctx");
  485. return $recv(each).__eq($self._thisPackage());
  486. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  487. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  488. //>>excludeEnd("ctx");
  489. })));
  490. return self;
  491. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  492. }, function($ctx1) {$ctx1.fill(self,"testTestPackages",{},$globals.HLSUnitModelTest)});
  493. //>>excludeEnd("ctx");
  494. },
  495. //>>excludeStart("ide", pragmas.excludeIdeData);
  496. args: [],
  497. source: "testTestPackages\x0a\x09self assert: model testPackages notEmpty.\x0a\x09self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).",
  498. referencedClasses: [],
  499. //>>excludeEnd("ide");
  500. messageSends: ["assert:", "notEmpty", "testPackages", "anySatisfy:", "=", "thisPackage"]
  501. }),
  502. $globals.HLSUnitModelTest);
  503. $core.addMethod(
  504. $core.method({
  505. selector: "testUnselectClass",
  506. protocol: "tests",
  507. fn: function (){
  508. var self=this,$self=this;
  509. var announcementFired;
  510. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  511. return $core.withContext(function($ctx1) {
  512. //>>excludeEnd("ctx");
  513. var $1,$2;
  514. $recv($self["@model"])._selectPackage_($self._thisPackage());
  515. $1=$self["@model"];
  516. $2=$self._class();
  517. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  518. $ctx1.sendIdx["class"]=1;
  519. //>>excludeEnd("ctx");
  520. $recv($1)._selectClass_($2);
  521. $recv($recv($self["@model"])._announcer())._on_do_for_($globals.HLClassUnselected,(function(){
  522. announcementFired=true;
  523. return announcementFired;
  524. }),self);
  525. $recv($self["@model"])._unselectClass_($self._class());
  526. $self._assert_($recv($recv($self["@model"])._selectedClasses())._isEmpty());
  527. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  528. $ctx1.sendIdx["assert:"]=1;
  529. //>>excludeEnd("ctx");
  530. $self._assert_(announcementFired);
  531. return self;
  532. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  533. }, function($ctx1) {$ctx1.fill(self,"testUnselectClass",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  534. //>>excludeEnd("ctx");
  535. },
  536. //>>excludeStart("ide", pragmas.excludeIdeData);
  537. args: [],
  538. 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",
  539. referencedClasses: ["HLClassUnselected"],
  540. //>>excludeEnd("ide");
  541. messageSends: ["selectPackage:", "thisPackage", "selectClass:", "class", "on:do:for:", "announcer", "unselectClass:", "assert:", "isEmpty", "selectedClasses"]
  542. }),
  543. $globals.HLSUnitModelTest);
  544. $core.addMethod(
  545. $core.method({
  546. selector: "testUnselectPackage",
  547. protocol: "tests",
  548. fn: function (){
  549. var self=this,$self=this;
  550. var announcementFired;
  551. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  552. return $core.withContext(function($ctx1) {
  553. //>>excludeEnd("ctx");
  554. var $1,$2;
  555. $1=$self["@model"];
  556. $2=$self._thisPackage();
  557. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  558. $ctx1.sendIdx["thisPackage"]=1;
  559. //>>excludeEnd("ctx");
  560. $recv($1)._selectPackage_($2);
  561. $recv($recv($self["@model"])._announcer())._on_do_for_($globals.HLPackageUnselected,(function(){
  562. announcementFired=true;
  563. return announcementFired;
  564. }),self);
  565. $recv($self["@model"])._unselectPackage_($self._thisPackage());
  566. $self._assert_($recv($recv($self["@model"])._selectedPackages())._isEmpty());
  567. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  568. $ctx1.sendIdx["assert:"]=1;
  569. //>>excludeEnd("ctx");
  570. $self._assert_(announcementFired);
  571. return self;
  572. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  573. }, function($ctx1) {$ctx1.fill(self,"testUnselectPackage",{announcementFired:announcementFired},$globals.HLSUnitModelTest)});
  574. //>>excludeEnd("ctx");
  575. },
  576. //>>excludeStart("ide", pragmas.excludeIdeData);
  577. args: [],
  578. 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.",
  579. referencedClasses: ["HLPackageUnselected"],
  580. //>>excludeEnd("ide");
  581. messageSends: ["selectPackage:", "thisPackage", "on:do:for:", "announcer", "unselectPackage:", "assert:", "isEmpty", "selectedPackages"]
  582. }),
  583. $globals.HLSUnitModelTest);
  584. $core.addMethod(
  585. $core.method({
  586. selector: "thisPackage",
  587. protocol: "accessing",
  588. fn: function (){
  589. var self=this,$self=this;
  590. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  591. return $core.withContext(function($ctx1) {
  592. //>>excludeEnd("ctx");
  593. return $recv($self._class())._package();
  594. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  595. }, function($ctx1) {$ctx1.fill(self,"thisPackage",{},$globals.HLSUnitModelTest)});
  596. //>>excludeEnd("ctx");
  597. },
  598. //>>excludeStart("ide", pragmas.excludeIdeData);
  599. args: [],
  600. source: "thisPackage\x0a\x09^self class package",
  601. referencedClasses: [],
  602. //>>excludeEnd("ide");
  603. messageSends: ["package", "class"]
  604. }),
  605. $globals.HLSUnitModelTest);
  606. });