test/MCFileInTest.st
author Claus Gittinger <cg@exept.de>
Wed, 22 Nov 2006 14:02:13 +0100
changeset 19 17ff4ce04f1f
child 153 1bab1f6eed93
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello/test' }"
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCTestCase subclass:#MCFileInTest
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'stream expected diff'
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Tests'
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCFileInTest methodsFor:'asserting'!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
assertNoChange
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	| actual |
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	actual _ MCSnapshotResource takeSnapshot.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	diff _ actual patchRelativeToBase: expected.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	self assert: diff isEmpty
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
! !
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!MCFileInTest methodsFor:'running'!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
setUp
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
	expected _ self mockSnapshot.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	stream _ RWBinaryOrTextStream on: String new.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
tearDown
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	(diff isNil or: [diff isEmpty not])
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
		 ifTrue: [expected updatePackage: self mockPackage]
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
! !
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!MCFileInTest methodsFor:'testing'!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
alterInitialState
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	self mockClassA touchCVar
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
assertFileOutFrom: writerClass canBeFiledInWith: aBlock
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	(writerClass on: stream) writeSnapshot: self mockSnapshot.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	self alterInitialState.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	self assertSuccessfulLoadWith: aBlock.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	self mockPackage unload.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	self assertSuccessfulLoadWith: aBlock.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
assertInitializersCalled
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	| cvar |
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	cvar _ self mockClassA cVar.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	self assert: cvar = #initialized
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
assertSuccessfulLoadWith: aBlock
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	stream reset.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	aBlock value.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	self assertNoChange.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	self assertInitializersCalled.
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
testStWriter
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	self
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
		assertFileOutFrom: MCStWriter
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
		canBeFiledInWith: [stream fileIn].
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
! !
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!MCFileInTest class methodsFor:'documentation'!
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
version
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ^ '$Header: /cvs/stx/stx/goodies/monticello/test/MCFileInTest.st,v 1.1 2006-11-22 13:02:13 cg Exp $'
17ff4ce04f1f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
! !