TestResource.st
author Claus Gittinger <cg@exept.de>
Tue, 27 May 2008 23:02:05 +0200
changeset 180 4b3b81b30817
parent 103 ad6897ce99e0
child 217 2033d47baf43
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#TestResource
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'name description'
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'SUnit-Base'
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
TestResource class instanceVariableNames:'current'
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
 No other class instance variables are inherited by this class.
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
    18
!TestResource class methodsFor:'accessing'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
current
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    21
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    22
	current isNil
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    23
		ifTrue: [current := self new].
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    24
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	^current
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    26
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
current: aTestResource
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    30
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	current := aTestResource
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    32
			
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    33
!
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    34
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    35
resources
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    36
	^#()
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    37
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
    40
!TestResource class methodsFor:'creation'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
new
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    43
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	^super new initialize
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    45
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
reset
70
2ff4508f476d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
    49
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    50
	current notNil ifTrue: [
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    51
		[current tearDown] ensure: [
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    52
			current := nil]]
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    53
			
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    54
!
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    55
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    56
signalInitializationError
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    57
	^TestResult signalErrorWith: 'Resource ' , self name , ' could not be initialized'
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    58
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
    61
!TestResource class methodsFor:'testing'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
isAbstract
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    64
        "Override to true if a TestResource subclass is Abstract and should not have
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    65
        TestCase instances built from it"
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    66
180
4b3b81b30817 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
    67
        ^ self == TestResource
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
isAvailable
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    71
	^self current notNil and: [self current isAvailable]
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    72
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
isUnavailable
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    76
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
	^self isAvailable not
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    78
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
    81
!TestResource methodsFor:'accessing'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
description
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    84
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    85
	description isNil
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    86
		ifTrue: [^''].
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    87
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	^description
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    89
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
description: aString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    93
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
	description := aString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    95
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
name
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
    99
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   100
	name isNil
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   101
		ifTrue: [^self printString].
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   102
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
	^name
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   104
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
name: aString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   108
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
	name := aString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   110
			
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   111
!
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   112
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   113
resources
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   114
	^self class resources
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   115
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
   118
!TestResource methodsFor:'init / release'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
initialize
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   121
	self setUp
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   122
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   123
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
   126
!TestResource methodsFor:'printing'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
printOn: aStream
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   129
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
	aStream nextPutAll: self class printString
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   131
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
   134
!TestResource methodsFor:'running'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
setUp
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
	"Does nothing. Subclasses should override this
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
	to initialize their resource"
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   139
			
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   140
!
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   141
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   142
signalInitializationError
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   143
	^self class signalInitializationError
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   144
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
tearDown
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
	"Does nothing. Subclasses should override this
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
	to tear down their resource"
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   150
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
   153
!TestResource methodsFor:'testing'!
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
isAvailable
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   156
	"override to provide information on the
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   157
	readiness of the resource"
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   158
	
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
	^true
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   160
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
isUnavailable
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   164
	"override to provide information on the
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   165
	readiness of the resource"
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   166
	
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
	^self isAvailable not
103
ad6897ce99e0 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   168
			
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
! !
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!TestResource class methodsFor:'documentation'!
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
version
180
4b3b81b30817 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 103
diff changeset
   174
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResource.st,v 1.5 2008-05-27 21:02:05 cg Exp $'
44
63d3c94197da initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
! !