1
0

Helios-SUnit-Tests.st 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. Smalltalk createPackage: 'Helios-SUnit-Tests'!
  2. TestCase subclass: #HLSUnitModelTest
  3. instanceVariableNames: 'model'
  4. package: 'Helios-SUnit-Tests'!
  5. !HLSUnitModelTest methodsFor: 'accessing'!
  6. thisPackage
  7. ^self class package
  8. ! !
  9. !HLSUnitModelTest methodsFor: 'initializing'!
  10. setUp
  11. super setUp.
  12. model := HLSUnitModel new
  13. ! !
  14. !HLSUnitModelTest methodsFor: 'tests'!
  15. testClassBecomesAvailable
  16. self assert: model testClasses isEmpty.
  17. model selectPackage: self thisPackage.
  18. self assert: (model testClasses includes: self class).
  19. !
  20. testEmptyTestResults
  21. self assert: (model testResult isKindOf: TestResult)
  22. !
  23. testInvertSelectedClasses
  24. model selectAllPackages.
  25. model selectAllClasses.
  26. model unselectClass: self class.
  27. self assert: model selectedClasses notEmpty.
  28. self assert: model selectedClasses size equals: model testClasses size - 1.
  29. model invertSelectedClasses.
  30. self assert: model selectedClasses size equals: 1.
  31. self assert: model selectedClasses anyOne equals: self class.
  32. !
  33. testInvertSelectedPackages
  34. model selectAllPackages.
  35. model unselectPackage: self thisPackage.
  36. self assert: model selectedPackages notEmpty.
  37. self assert: model selectedPackages size equals: model testPackages size - 1.
  38. model invertSelectedPackages.
  39. self assert: model selectedPackages size equals: 1.
  40. self assert: model selectedPackages anyOne equals: self thisPackage.
  41. !
  42. testSelectAllClasses
  43. model selectAllPackages.
  44. self assert: model testClasses notEmpty.
  45. model selectAllClasses.
  46. self assert: model selectedClasses size equals: model testClasses size
  47. !
  48. testSelectAllPackages
  49. self assert: model selectedPackages isEmpty.
  50. model selectAllPackages.
  51. self assert: model selectedPackages size equals: model testPackages size
  52. !
  53. testSelectClass
  54. | announcementFired |
  55. model selectPackage: self thisPackage.
  56. self assert: model selectedClasses isEmpty.
  57. model announcer on: HLClassSelected
  58. do: [ announcementFired := true ]
  59. for: self.
  60. model selectClass: self class.
  61. self assert: model selectedClasses anyOne equals: self class.
  62. self assert: announcementFired.
  63. !
  64. testSelectPackage
  65. | announcementFired |
  66. self assert: model selectedPackages isEmpty.
  67. model announcer on: HLPackageSelected
  68. do: [ announcementFired := true ]
  69. for: self.
  70. model selectPackage: self thisPackage.
  71. self assert: model selectedPackages anyOne equals: self thisPackage.
  72. self assert: announcementFired
  73. !
  74. testSelectedClassNotListedIfPackageUnselected
  75. model selectPackage: self thisPackage.
  76. model selectClass: self class.
  77. self assert: model selectedClasses anyOne equals: self class.
  78. model unselectPackage: self thisPackage.
  79. self assert: model selectedClasses isEmpty.
  80. !
  81. testTestClassHasOnlyTestClasses
  82. | notATestClass |
  83. notATestClass := Object subclass: #HLNotATestClass
  84. instanceVariableNames: ''
  85. package: self class category.
  86. model selectPackage: self thisPackage.
  87. self deny: (model testClasses includes: notATestClass).
  88. Smalltalk removeClass: notATestClass.
  89. !
  90. testTestPackages
  91. self assert: model testPackages notEmpty.
  92. self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).
  93. !
  94. testUnselectClass
  95. | announcementFired |
  96. model selectPackage: self thisPackage.
  97. model selectClass: self class.
  98. model announcer on: HLClassUnselected
  99. do: [ announcementFired := true ]
  100. for: self.
  101. model unselectClass: self class.
  102. self assert: model selectedClasses isEmpty.
  103. self assert: announcementFired
  104. !
  105. testUnselectPackage
  106. | announcementFired |
  107. model selectPackage: self thisPackage.
  108. model announcer on: HLPackageUnselected
  109. do: [ announcementFired := true ]
  110. for: self.
  111. model unselectPackage: self thisPackage.
  112. self assert: model selectedPackages isEmpty.
  113. self assert: announcementFired.
  114. ! !