TestSuite.st
changeset 754 a40cfdc417ad
parent 740 7f2cc93c7a75
equal deleted inserted replaced
753:5052e1bf244a 754:a40cfdc417ad
     1 "{ Encoding: utf8 }"
       
     2 
       
     3 "{ Package: 'stx:goodies/sunit' }"
     1 "{ Package: 'stx:goodies/sunit' }"
     4 
     2 
     5 "{ NameSpace: Smalltalk }"
     3 "{ NameSpace: Smalltalk }"
     6 
     4 
     7 Object subclass:#TestSuite
     5 Object subclass:#TestSuite
   121         nextPutAll:']'.
   119         nextPutAll:']'.
   122 ! !
   120 ! !
   123 
   121 
   124 !TestSuite methodsFor:'queries'!
   122 !TestSuite methodsFor:'queries'!
   125 
   123 
   126 isTestCase
   124 allCoveredClasses
   127     ^ false
   125     "return a collection of classes which are covered by the selected
   128 !
   126      tests. Requires that the testcase returns a non-empty collection
   129 
   127      from the coveredClasses query"
   130 isTestSuite
   128 
   131     ^ true
   129     |testedClasses|
       
   130 
       
   131     testedClasses := Set new.
       
   132 
       
   133     self tests do:[:eachTest |
       
   134         testedClasses addAll:(eachTest class coveredClasses).
       
   135     ].
       
   136     ^ testedClasses
       
   137 !
       
   138 
       
   139 areAllResourcesAvailable
       
   140 	^self resources
       
   141 		inject: true
       
   142 		into: [:total :each | each isAvailable & total]
       
   143 !
       
   144 
       
   145 signalUnavailableResources
       
   146 
       
   147     self resources do:[:res |
       
   148 	res isAvailable ifFalse:[
       
   149 	    ^ res signalInitializationError
       
   150 	]
       
   151     ].
   132 ! !
   152 ! !
   133 
   153 
   134 !TestSuite methodsFor:'running'!
   154 !TestSuite methodsFor:'running'!
   135 
   155 
   136 debug
   156 debug
   258     "Modified: / 29-07-2011 / 09:51:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   278     "Modified: / 29-07-2011 / 09:51:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   259 ! !
   279 ! !
   260 
   280 
   261 !TestSuite methodsFor:'testing'!
   281 !TestSuite methodsFor:'testing'!
   262 
   282 
   263 areAllResourcesAvailable
   283 isTestCase
   264 	^self resources
   284     ^ false
   265 		inject: true
   285 !
   266 		into: [:total :each | each isAvailable & total]
   286 
   267 !
   287 isTestSuite
   268 
   288     ^ true
   269 signalUnavailableResources
       
   270 
       
   271     self resources do:[:res |
       
   272 	res isAvailable ifFalse:[
       
   273 	    ^ res signalInitializationError
       
   274 	]
       
   275     ].
       
   276 ! !
   289 ! !
   277 
   290 
   278 !TestSuite class methodsFor:'documentation'!
   291 !TestSuite class methodsFor:'documentation'!
   279 
   292 
   280 version
   293 version