author | Claus Gittinger <cg@exept.de> |
Wed, 29 Aug 2018 15:20:19 +0200 | |
changeset 1081 | 9f4a608ef9f3 |
parent 1033 | 66e82afe7a79 |
permissions | -rw-r--r-- |
1033 | 1 |
"{ Encoding: utf8 }" |
2 |
||
26 | 3 |
"{ Package: 'stx:goodies/monticello/test' }" |
4 |
||
1033 | 5 |
"{ NameSpace: Smalltalk }" |
6 |
||
26 | 7 |
MCTestCase subclass:#MCSerializationTest |
8 |
instanceVariableNames:'' |
|
9 |
classVariableNames:'' |
|
10 |
poolDictionaries:'' |
|
824
d4cbbb03d3f3
Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
26
diff
changeset
|
11 |
category:'SCM-Monticello-Tests' |
26 | 12 |
! |
13 |
||
14 |
||
15 |
!MCSerializationTest methodsFor:'asserting'! |
|
16 |
||
17 |
assertClass: readerClass providesServices: labels |
|
18 |
| services suffix | |
|
19 |
suffix _ readerClass extension. |
|
20 |
self assert: (FileList isReaderNamedRegistered: readerClass name). |
|
21 |
services _ readerClass fileReaderServicesForFile: 'foo' suffix: suffix. |
|
22 |
self assert: ((services collect: [:service | service buttonLabel]) includesAllOf: labels) |
|
23 |
! |
|
24 |
||
25 |
assertDependenciesMatchWith: writerClass |
|
26 |
| stream readerClass expected actual | |
|
27 |
readerClass _ writerClass readerClass. |
|
28 |
expected _ self mockVersionWithDependencies. |
|
29 |
stream _ RWBinaryOrTextStream on: String new. |
|
30 |
writerClass fileOut: expected on: stream. |
|
31 |
actual _ (readerClass on: stream reset) dependencies. |
|
32 |
self assert: actual = expected dependencies. |
|
33 |
! |
|
34 |
||
35 |
assertExtensionProvidedBy: aClass |
|
36 |
self shouldnt: [aClass readerClass extension] raise: Exception. |
|
37 |
! |
|
38 |
||
39 |
assertSnapshotsMatchWith: writerClass |
|
40 |
| readerClass expected stream actual | |
|
41 |
readerClass _ writerClass readerClass. |
|
42 |
expected _ self mockSnapshot. |
|
43 |
stream _ RWBinaryOrTextStream on: String new. |
|
44 |
(writerClass on: stream) writeSnapshot: expected. |
|
45 |
actual _ readerClass snapshotFromStream: stream reset. |
|
46 |
self assertSnapshot: actual matches: expected. |
|
47 |
! |
|
48 |
||
49 |
assertVersionInfosMatchWith: writerClass |
|
50 |
| stream readerClass expected actual | |
|
51 |
readerClass _ writerClass readerClass. |
|
52 |
expected _ self mockVersion. |
|
53 |
stream _ RWBinaryOrTextStream on: String new. |
|
54 |
writerClass fileOut: expected on: stream. |
|
55 |
actual _ readerClass versionInfoFromStream: stream reset. |
|
56 |
self assert: actual = expected info. |
|
57 |
! |
|
58 |
||
59 |
assertVersionsMatchWith: writerClass |
|
60 |
| stream readerClass expected actual | |
|
61 |
readerClass _ writerClass readerClass. |
|
62 |
expected _ self mockVersion. |
|
63 |
stream _ RWBinaryOrTextStream on: String new. |
|
64 |
writerClass fileOut: expected on: stream. |
|
65 |
actual _ readerClass versionFromStream: stream reset. |
|
66 |
self assertVersion: actual matches: expected. |
|
67 |
! ! |
|
68 |
||
69 |
!MCSerializationTest methodsFor:'mocks'! |
|
70 |
||
71 |
mockDiffyVersion |
|
72 |
| repos workingCopy base next | |
|
73 |
repos _ MCDictionaryRepository new. |
|
74 |
workingCopy _ MCWorkingCopy forPackage: self mockPackage. |
|
75 |
workingCopy repositoryGroup addRepository: repos. |
|
76 |
MCRepositoryGroup default removeRepository: repos. |
|
77 |
base _ self mockVersion. |
|
78 |
repos storeVersion: base. |
|
79 |
self change: #a toReturn: 'a2'. |
|
80 |
next _ self mockVersionWithAncestor: base. |
|
81 |
^ next asDiffAgainst: base |
|
82 |
! ! |
|
83 |
||
84 |
!MCSerializationTest methodsFor:'testing'! |
|
85 |
||
86 |
testMcdSerialization |
|
1033 | 87 |
| stream expected actual data| |
88 |
expected _ self mockDiffyVersion. |
|
89 |
stream _ RWBinaryOrTextStream on: String new. |
|
90 |
MCMcdWriter fileOut: expected on: stream. |
|
91 |
data := stream contents. |
|
92 |
actual _ MCMcdReader versionFromStream: data readStream. |
|
93 |
"/ actual _ MCMcdReader versionFromStream: stream reset. |
|
94 |
self assertVersion: actual matches: expected. |
|
26 | 95 |
! |
96 |
||
97 |
testMczSerialization |
|
98 |
self assertVersionsMatchWith: MCMczWriter. |
|
99 |
self assertExtensionProvidedBy: MCMczWriter. |
|
100 |
self assertVersionInfosMatchWith: MCMczWriter. |
|
101 |
self assertDependenciesMatchWith: MCMczWriter. |
|
102 |
! |
|
103 |
||
104 |
testStSerialization |
|
105 |
self assertSnapshotsMatchWith: MCStWriter. |
|
106 |
! ! |
|
107 |
||
108 |
!MCSerializationTest class methodsFor:'documentation'! |
|
109 |
||
110 |
version |
|
1033 | 111 |
^ '$Header$' |
26 | 112 |
! ! |
824
d4cbbb03d3f3
Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
26
diff
changeset
|
113 |