Helios-SUnit-Tests.st 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. testSelectAllPackages
  24. self assert: model selectedPackages isEmpty.
  25. model selectAllPackages.
  26. self assert: model selectedPackages size equals: model testPackages size
  27. !
  28. testSelectClass
  29. | announcementFired |
  30. model selectPackage: self thisPackage.
  31. self assert: model selectedClasses isEmpty.
  32. model announcer on: HLClassSelected
  33. do: [ announcementFired := true ]
  34. for: self.
  35. model selectClass: self class.
  36. self assert: model selectedClasses anyOne equals: self class.
  37. self assert: announcementFired.
  38. !
  39. testSelectPackage
  40. | announcementFired |
  41. self assert: model selectedPackages isEmpty.
  42. model announcer on: HLPackageSelected
  43. do: [ announcementFired := true ]
  44. for: self.
  45. model selectPackage: self thisPackage.
  46. self assert: model selectedPackages anyOne equals: self thisPackage.
  47. self assert: announcementFired
  48. !
  49. testSelectedClassNotListedIfPackageUnselected
  50. model selectPackage: self thisPackage.
  51. model selectClass: self class.
  52. self assert: model selectedClasses anyOne equals: self class.
  53. model unselectPackage: self thisPackage.
  54. self assert: model selectedClasses isEmpty.
  55. !
  56. testTestClassHasOnlyTestClasses
  57. | notATestClass |
  58. notATestClass := Object subclass: #HLNotATestClass
  59. instanceVariableNames: ''
  60. package: self class category.
  61. model selectPackage: self thisPackage.
  62. self deny: (model testClasses includes: notATestClass).
  63. Smalltalk removeClass: notATestClass.
  64. !
  65. testTestPackages
  66. self assert: model testPackages notEmpty.
  67. self assert: (model testPackages anySatisfy: [:each | each = self thisPackage]).
  68. !
  69. testUnselectClass
  70. | announcementFired |
  71. model selectPackage: self thisPackage.
  72. model selectClass: self class.
  73. model announcer on: HLClassUnselected
  74. do: [ announcementFired := true ]
  75. for: self.
  76. model unselectClass: self class.
  77. self assert: model selectedClasses isEmpty.
  78. self assert: announcementFired
  79. !
  80. testUnselectPackage
  81. | announcementFired |
  82. model selectPackage: self thisPackage.
  83. model announcer on: HLPackageUnselected
  84. do: [ announcementFired := true ]
  85. for: self.
  86. model unselectPackage: self thisPackage.
  87. self assert: model selectedPackages isEmpty.
  88. self assert: announcementFired.
  89. ! !