#REFACTORING by cg
class: TestSuite
added: #allCoveredClasses
category of:
#areAllResourcesAvailable
#isTestCase
#isTestSuite
#signalUnavailableResources
--- a/TestSuite.st Sat Jun 08 13:55:43 2019 +0200
+++ b/TestSuite.st Sun Jul 07 14:54:40 2019 +0200
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
"{ Package: 'stx:goodies/sunit' }"
"{ NameSpace: Smalltalk }"
@@ -123,12 +121,34 @@
!TestSuite methodsFor:'queries'!
-isTestCase
- ^ false
+allCoveredClasses
+ "return a collection of classes which are covered by the selected
+ tests. Requires that the testcase returns a non-empty collection
+ from the coveredClasses query"
+
+ |testedClasses|
+
+ testedClasses := Set new.
+
+ self tests do:[:eachTest |
+ testedClasses addAll:(eachTest class coveredClasses).
+ ].
+ ^ testedClasses
!
-isTestSuite
- ^ true
+areAllResourcesAvailable
+ ^self resources
+ inject: true
+ into: [:total :each | each isAvailable & total]
+!
+
+signalUnavailableResources
+
+ self resources do:[:res |
+ res isAvailable ifFalse:[
+ ^ res signalInitializationError
+ ]
+ ].
! !
!TestSuite methodsFor:'running'!
@@ -260,19 +280,12 @@
!TestSuite methodsFor:'testing'!
-areAllResourcesAvailable
- ^self resources
- inject: true
- into: [:total :each | each isAvailable & total]
+isTestCase
+ ^ false
!
-signalUnavailableResources
-
- self resources do:[:res |
- res isAvailable ifFalse:[
- ^ res signalInitializationError
- ]
- ].
+isTestSuite
+ ^ true
! !
!TestSuite class methodsFor:'documentation'!