--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MCMczInstallerTest.st Sat Aug 20 14:29:34 2011 +0200
@@ -0,0 +1,103 @@
+"{ Package: 'stx:goodies/monticello' }"
+
+MCTestCase subclass:#MCMczInstallerTest
+ instanceVariableNames:'expected diff'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Monticello-Tests'
+!
+
+
+!MCMczInstallerTest class methodsFor:'as yet unclassified'!
+
+isAbstract
+ ^ (Smalltalk classNamed: #MczInstaller) notNil
+
+ "Modified: / 18-08-2009 / 10:04:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+suite
+ ^ (Smalltalk classNamed: #MczInstaller) notNil
+ ifTrue: [super suite]
+ ifFalse: [TestSuite new name: self name asString]
+
+ "Modified: / 18-08-2009 / 10:30:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!MCMczInstallerTest methodsFor:'as yet unclassified'!
+
+assertDict: dict matchesInfo: info
+ #(name id message date time author)
+ do: [:sel | (info perform: sel) ifNotNil: [:i | dict at: sel ifPresent: [:d | self assert: i = d]]].
+ info ancestors
+ with: (dict at: #ancestors)
+ do: [:i :d | self assertDict: d matchesInfo: i]
+!
+
+assertNoChange
+ | actual |
+ actual := MCSnapshotResource takeSnapshot.
+ diff := actual patchRelativeToBase: expected snapshot.
+ self assert: diff isEmpty
+!
+
+assertVersionInfoPresent
+ | dict info |
+ dict := MczInstaller versionInfo at: self mockPackage name.
+ info := expected info.
+ self assertDict: dict matchesInfo: info.
+!
+
+deleteFile
+ (FileDirectory default fileExists: self fileName)
+ ifTrue: [FileDirectory default deleteFileNamed: self fileName]
+!
+
+fileName
+ ^ 'InstallerTest.mcz'
+!
+
+fileStream
+ ^ FileStream forceNewFileNamed: self fileName.
+!
+
+setUp
+ expected := self mockVersion.
+ self change: #one toReturn: 2.
+!
+
+tearDown
+ expected snapshot updatePackage: self mockPackage.
+ self deleteFile.
+!
+
+testInstallFromFile
+ MCMczWriter fileOut: expected on: self fileStream.
+ MczInstaller installFileNamed: self fileName.
+ self assertNoChange.
+!
+
+testInstallFromStream
+ | stream |
+ stream := ReadWriteStream on: String new.
+ MCMczWriter fileOut: expected on: stream.
+ MczInstaller installStream: stream reset.
+ self assertNoChange.
+ self assertVersionInfoPresent.
+
+ "Modified: / 29-08-2010 / 08:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MCMczInstallerTest class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczInstallerTest.st,v 1.1 2011-08-20 12:29:34 cg Exp $'
+!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczInstallerTest.st,v 1.1 2011-08-20 12:29:34 cg Exp $'
+!
+
+version_SVN
+ ^ '§Id: MCMczInstallerTest.st 5 2010-08-29 07:30:29Z vranyj1 §'
+! !