TestCaseOutcome.st
author vrany
Tue, 16 Aug 2011 20:18:17 +0200
changeset 360 57c87e624dc6
child 379 065605384740
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
360
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     2
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     3
Object subclass:#TestCaseOutcome
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     4
	instanceVariableNames:'testCase result properties'
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     5
	classVariableNames:''
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     6
	poolDictionaries:''
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     7
	category:'SUnit-Base'
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     8
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
     9
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    10
!TestCaseOutcome class methodsFor:'documentation'!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    11
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    12
documentation
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    13
"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    14
    will keep additional info for a testCase run:
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    15
        startTime, endTime,
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    16
        backtrace (if fail or error)
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    17
        and collectedStdout
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    18
"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    19
! !
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    20
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    21
!TestCaseOutcome class methodsFor:'instance creation'!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    22
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    23
forCase: aTestCase
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    24
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    25
    ^self new testCase: aTestCase; yourself
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    26
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    27
    "Created: / 16-08-2011 / 15:24:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    28
! !
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    29
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    30
!TestCaseOutcome methodsFor:'accessing'!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    31
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    32
collectedOutput
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    33
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    34
    ^self propertyAt: #collectedOutput
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    35
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    36
    "Modified: / 16-08-2011 / 15:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    37
    "Created: / 16-08-2011 / 18:19:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    38
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    39
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    40
collectedOutput: aString
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    41
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    42
    ^self propertyAt: #collectedOutput put: aString
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    43
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    44
    "Modified: / 16-08-2011 / 15:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    45
    "Created: / 16-08-2011 / 18:19:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    46
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    47
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    48
endTime
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    49
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    50
    ^self propertyAt: #endTime
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    51
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    52
    "Modified: / 16-08-2011 / 15:28:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    53
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    54
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    55
endTime: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    56
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    57
    ^self propertyAt: #endTime put: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    58
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    59
    "Modified: / 16-08-2011 / 15:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    60
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    61
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    62
exceptionDetail
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    63
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    64
    ^self propertyAt: #exceptionDetail
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    65
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    66
    "Modified: / 16-08-2011 / 15:29:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    67
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    68
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    69
exceptionDetail: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    70
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    71
    ^self propertyAt: #exceptionDetail put: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    72
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    73
    "Modified: / 16-08-2011 / 15:29:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    74
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    75
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    76
propertyAt: aSymbol
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    77
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    78
    self propertyAt: aSymbol ifAbsent: [nil]
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    79
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    80
    "Created: / 16-08-2011 / 15:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    81
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    82
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    83
propertyAt: aSymbol ifAbsent: aBlock
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    84
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    85
    properties isNil ifTrue: [^aBlock value].
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    86
    ^properties at: aSymbol ifAbsent:aBlock.
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    87
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    88
    "Created: / 16-08-2011 / 15:27:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    89
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    90
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    91
propertyAt: aSymbol put: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    92
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    93
    properties isNil ifTrue: [properties := Dictionary new].
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    94
    properties at: aSymbol put: anObject.
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    95
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    96
    "Created: / 16-08-2011 / 15:28:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    97
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    98
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
    99
result
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   100
    ^ result
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   101
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   102
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   103
result:something
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   104
    result := something.
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   105
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   106
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   107
selector
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   108
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   109
    ^testCase selector
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   110
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   111
    "Created: / 16-08-2011 / 15:38:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   112
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   113
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   114
startTime
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   115
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   116
    ^self propertyAt: #startTime
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   117
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   118
    "Modified: / 16-08-2011 / 15:29:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   119
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   120
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   121
startTime: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   122
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   123
    ^self propertyAt: #startTime put: anObject
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   124
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   125
    "Modified: / 16-08-2011 / 15:29:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   126
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   127
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   128
testCase
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   129
    ^ testCase
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   130
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   131
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   132
testCase:something
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   133
    testCase := something.
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   134
! !
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   135
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   136
!TestCaseOutcome class methodsFor:'documentation'!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   137
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   138
version
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   139
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestCaseOutcome.st,v 1.1 2011-08-16 18:18:17 vrany Exp $'
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   140
!
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   141
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   142
version_CVS
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   143
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestCaseOutcome.st,v 1.1 2011-08-16 18:18:17 vrany Exp $'
57c87e624dc6 initial checkin
vrany
parents:
diff changeset
   144
! !