CircularTestResourceTestCase.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 26 Nov 2017 20:40:34 +0000
branchjv
changeset 696 268bf2c60556
parent 664 e31b2e7b658d
child 724 4dae63fce9f9
permissions -rw-r--r--
UI testing: wait until event queue empties ...when `#do:`ing an user action. This is necessary for widget/tools that pushes more work back onto an even queue (in order to make the system more responsive).

"{ Package: 'stx:goodies/sunit' }"

"{ NameSpace: Smalltalk }"

ManyTestResourceTestCase subclass:#CircularTestResourceTestCase
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'SUnit-Tests'
!


!CircularTestResourceTestCase class methodsFor:'accessing'!

resources
	^super resources, (Array with: SimpleTestResourceCircular)
! !

!CircularTestResourceTestCase methodsFor:'running'!

testTearDownOrder
	SimpleTestResourceCircular preventAvailabilityDuring:
		[self should: [SimpleTestResourceCircular reset; isAvailable] raise: TestResult failure.
		self assert: SimpleTestResourceCircular rawCurrentForTest == false
			description: 'Circular resource not in failed setUp state'.
		self assert: SimpleTestResourceCircular1 rawCurrentForTest == false
			description: 'Circular resource not in failed setUp state'.
		super testTearDownOrder.
		self assert: SimpleTestResourceCircular1 rawCurrentForTest == nil
			description: 'Circular resource not in failed setUp state'.
		self assert: SimpleTestResourceCircular rawCurrentForTest == nil
			description: 'Circular resource not reset after pre-tearDown iteration'].
! !

!CircularTestResourceTestCase methodsFor:'utility'!

clearOuterResourceStateDuring: aBlock
	"To let the test run at all, we only make it circular when the preventAvailability instvar is set."

	^super clearOuterResourceStateDuring:
		[SimpleTestResourceCircular reset.
		self deny: SimpleTestResourceCircular1 isAlreadyAvailable
			description: 'SimpleTestResourceCircular1 should never be available'.
		SimpleTestResourceCircular preventAvailabilityDuring:
			[self should: aBlock raise: TestResult failure].
		self deny: SimpleTestResourceCircular isAlreadyAvailable
			description: 'SimpleTestResourceCircular was set up despite having circularity set'].
! !

!CircularTestResourceTestCase class methodsFor:'documentation'!

version_SVN
    ^ '§Id: CircularTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
! !