SUnitTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 03 Sep 2016 09:08:25 +0100
branchjv
changeset 664 e31b2e7b658d
parent 222 8e6f482297fa
child 724 4dae63fce9f9
permissions -rw-r--r--
FIX: Do not treat skipped test as passed! If it breaks tools, tools should be fixed. A skipped test is not a test that passed. Period.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
     3
"{ NameSpace: Smalltalk }"
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
     4
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#SUnitTest
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'hasRun hasSetup hasRanOnce'
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
     9
	category:'SUnit-Tests'
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    12
SUnitTest comment:'This is both an example of writing tests and a self test for the SUnit. The tests
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    13
here are pretty strange, since you want to make sure things blow up. You should
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    14
not generally have to write tests this complicated in structure, although they
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    15
will be far more complicated in terms of your own objects- more assertions, more
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    16
complicated setup. Kent says: "Never forget, however, that if the tests are hard
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    17
to write, something is probably wrong with the design".'
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    18
!
9
e4ecc750aa38 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
    19
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
    20
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 58
diff changeset
    21
!SUnitTest methodsFor:'accessing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
hasRun
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    24
	^hasRun
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    25
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
hasSetup
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    28
	^hasSetup
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    29
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 58
diff changeset
    31
!SUnitTest methodsFor:'private'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
    33
assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    34
    self assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount skipped: 0
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
    35
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    36
    "Modified: / 03-09-2016 / 08:54:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    37
!
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    38
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    39
assertForTestResult: aResult runCount: aRunCount passed: aPassedCount failed: aFailureCount errors: anErrorCount skipped: skippedCount
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    40
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    41
        self
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    42
                assert: aResult runCount = aRunCount;
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    43
                assert: aResult passedCount = aPassedCount;
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    44
                assert: aResult failureCount = aFailureCount;
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    45
                assert: aResult errorCount = anErrorCount;
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    46
                assert: aResult skippedCount = skippedCount
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    47
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    48
    "Created: / 03-09-2016 / 08:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
    49
!
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
    50
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
error
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	3 zork
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
fail
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    56
	self assert: false
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    57
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
135
2716224f9146 *** empty log message ***
boris
parents: 109
diff changeset
    59
failAndError
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    60
	self assert: false.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    61
	self assert: false. " second failure "
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    62
	self error.
135
2716224f9146 *** empty log message ***
boris
parents: 109
diff changeset
    63
!
2716224f9146 *** empty log message ***
boris
parents: 109
diff changeset
    64
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    65
noop
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    66
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
setRun
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    69
	hasRun := true
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    70
!
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    71
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    72
skipped
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    73
        self skipIf: true description: 'Skipped'
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    74
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    75
    "Created: / 03-09-2016 / 08:55:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    76
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 58
diff changeset
    78
!SUnitTest methodsFor:'running'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
setUp
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    81
	hasSetup := true
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    82
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 58
diff changeset
    84
!SUnitTest methodsFor:'testing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    86
errorShouldntRaise
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    87
	self
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    88
		shouldnt: [self someMessageThatIsntUnderstood]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
    89
		raise: SUnitNameResolver notificationObject
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    90
!
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
    91
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
testAssert
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
	self assert: true.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    94
	self deny: false
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
testDefects
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
	| result suite error failure |
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
	suite := TestSuite new.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
	suite addTest: (error := self class selector: #error).
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
	suite addTest: (failure := self class selector: #fail).
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
	result := suite run.
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   103
	self assert: result defects asArray = (Array with: error with: failure).
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   104
	self
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   105
		assertForTestResult: result
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   106
		runCount: 2
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   107
		passed: 0
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   108
		failed: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   109
		errors: 1
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
testDialectLocalizedException
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   114
	self
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   115
		should: [TestResult signalFailureWith: 'Foo']
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   116
		raise: TestResult failure.
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   117
	self
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   118
		should: [TestResult signalErrorWith: 'Foo']
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   119
		raise: TestResult error.
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
testError
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   123
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
	| case result |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   125
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
	case := self class selector: #error.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
	result := case run.
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   128
	self
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   129
		assertForTestResult: result
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   130
		runCount: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   131
		passed: 0
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   132
		failed: 0
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   133
		errors: 1.
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   134
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   135
	case := self class selector: #errorShouldntRaise.
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   136
	result := case run.
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   137
	self
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   138
		assertForTestResult: result
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   139
		runCount: 1
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   140
		passed: 0
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   141
		failed: 0
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   142
		errors: 1
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   143
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
testException
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   147
	self
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   148
		should: [self error: 'foo']
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   149
		raise: TestResult error
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
testFail
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   153
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
	| case result |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   155
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	case := self class selector: #fail.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	result := case run.
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   158
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   159
	self
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   160
		assertForTestResult: result
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   161
		runCount: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   162
		passed: 0
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   163
		failed: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   164
		errors: 0
135
2716224f9146 *** empty log message ***
boris
parents: 109
diff changeset
   165
!
2716224f9146 *** empty log message ***
boris
parents: 109
diff changeset
   166
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
testIsNotRerunOnDebug
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   168
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	| case |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   170
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
	case := self class selector: #testRanOnlyOnce.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
	case run.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   173
	case debug
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   174
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
testRan
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   177
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
	| case |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   179
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
	case := self class selector: #setRun.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
	case run.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
	self assert: case hasSetup.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   183
	self assert: case hasRun
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   184
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
testRanOnlyOnce
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   187
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
	self assert: hasRanOnce ~= true.
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   189
	hasRanOnce := true
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   190
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
testResult
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   193
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
	| case result |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   195
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
	case := self class selector: #noop.
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
	result := case run.
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   198
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   199
	self
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   200
		assertForTestResult: result
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   201
		runCount: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   202
		passed: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   203
		failed: 0
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   204
		errors: 0
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   205
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
testRunning
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   209
	(SUnitDelay forSeconds: 2) wait
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
testShould
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   213
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   214
	self
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   215
		should: [true];
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   216
		shouldnt: [false]
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   217
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   219
testSkip
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   220
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   221
        | case result |
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   222
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   223
        case := self class selector: #skipped.
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   224
        result := case run.
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   225
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   226
        self
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   227
                assertForTestResult: result
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   228
                runCount: 1
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   229
                passed: 0
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   230
                failed: 0
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   231
                errors: 0
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   232
                skipped: 1
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   233
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   234
    "Created: / 03-09-2016 / 08:53:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   235
!
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   236
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
testSuite
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   238
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
	| suite result |
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   240
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
	suite := TestSuite new.
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   242
	suite
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   243
		addTest: (self class selector: #noop);
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   244
		addTest: (self class selector: #fail);
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   245
		addTest: (self class selector: #error).
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   246
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
	result := suite run.
109
7bb3f3015dd5 defined source container
Stefan Vogel <sv@exept.de>
parents: 68
diff changeset
   248
58
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   249
	self
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   250
		assertForTestResult: result
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   251
		runCount: 3
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   252
		passed: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   253
		failed: 1
Claus Gittinger <cg@exept.de>
parents: 52
diff changeset
   254
		errors: 1
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   255
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
   257
!SUnitTest class methodsFor:'documentation'!
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
   258
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
   259
version
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   260
    ^ '$Header: /cvs/stx/stx/goodies/sunit/SUnitTest.st,v 1.11 2011-06-29 19:15:49 cg Exp $'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   261
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   262
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   263
version_HG
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   264
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   265
    ^ '$Changeset: <not expanded> $'
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   266
!
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   267
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   268
version_SVN
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 135
diff changeset
   269
    ^ '§Id: SUnitTest.st 214 2011-03-14 12:22:21Z vranyj1 §'
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
   270
! !
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
   271