test/MCStWriterTest.st
author HG Automerge
Thu, 24 Nov 2016 21:56:31 +0000
branchjv
changeset 1015 7b6393ea3d52
parent 819 9be4aefd595c
child 1030 f0e99547dd4b
child 1121 c5661215109c
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello/test' }"
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCTestCase subclass:#MCStWriterTest
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'stream writer'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
819
9be4aefd595c Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
     7
	category:'SCM-Monticello-Tests'
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCStWriterTest methodsFor:'asserting'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
assertAllChunksAreWellFormed
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	stream 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
		untilEnd: [self assertChunkIsWellFormed: stream nextChunk]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
		displayingProgress: 'Checking syntax...'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
assertChunkIsWellFormed: chunk
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	Parser new
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		parse: chunk readStream 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
		class: UndefinedObject 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
		noPattern: true
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
		context: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
		notifying: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
		ifFail: [self assert: false]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
assertContentsOf: strm match: expected 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	| actual |
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	actual := strm contents.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	self assert: actual size = expected size.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	actual with: expected do: [:a :e | self assert: a = e]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
assertMethodChunkIsWellFormed: chunk
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	Parser new
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
		parse: chunk readStream 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
		class: UndefinedObject 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
		noPattern: false
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
		context: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
		notifying: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
		ifFail: [self assert: false]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!MCStWriterTest methodsFor:'data'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
expectedClassDefinitionA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
 ^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
MCMock subclass: #MCMockClassA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	instanceVariableNames: ''ivar''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	classVariableNames: ''CVar''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	poolDictionaries: ''''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	category: ''Monticello-Mocks''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!!MCMockClassA commentStamp: ''cwp 8/10/2003 16:43'' prior: 0!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
This is a mock class. The Monticello tests manipulated it to simulate a developer modifying code in the image.!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
expectedClassDefinitionB
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
 ^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
MCMock subclass: #MCMockClassB
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	instanceVariableNames: ''ivarb''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	classVariableNames: ''CVar''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	poolDictionaries: ''MCMockAPoolDictionary''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	category: ''Monticello-Mocks''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
MCMockClassB class
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	instanceVariableNames: ''ciVar''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!!MCMockClassB commentStamp: '''' prior: 0!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
This comment has a bang!!!! Bang!!!! Bang!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
expectedClassMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!!MCMockClassA class methodsFor: ''as yet unclassified'' stamp: ''ab 7/7/2003 23:21''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
	^ 1!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
expectedMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!!MCMockClassA methodsFor: ''numeric'' stamp: ''cwp 8/2/2003 17:26''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	^ 1!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
expectedMethodDefinitionWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
!!MCStWriterTest methodsFor: ''testing'' stamp: ''cwp 8/9/2003 14:55''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
methodWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
	^ ''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
	^ ReadStream on: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
''''MCRevisionInfo packageName: ''''MonticelloCompatibilityTest''''!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
MCOrganizationDeclaration categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
  #(
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
  ''''Monticello-Mocks'''')!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
MCClassDeclaration
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
  name: #MCMockClassD
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
  superclassName: #Object
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
  category: #''''Monticello-Mocks''''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
  instVarNames: #()
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
  comment: ''''''''!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
MCMethodDeclaration className: #MCMockClassD selector: #one category: #''''as yet unclassified'''' timeStamp: ''''cwp 7/8/2003 21:21'''' source: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
''''one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
	^ 1''''!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
''''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
expectedOrganizationDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
	^ 'SystemOrganization addCategory: ''Monticello-Mocks''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
!MCStWriterTest methodsFor:'testing'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
expectedInitializerA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
	^ 'MCMockClassA initialize'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
methodWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
	^ ReadStream on: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
''MCRevisionInfo packageName: ''MonticelloCompatibilityTest''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
MCOrganizationDeclaration categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
  #(
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
  ''Monticello-Mocks'')!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
MCClassDeclaration
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
  name: #MCMockClassD
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
  superclassName: #Object
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
  category: #''Monticello-Mocks''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
  instVarNames: #()
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
  comment: ''''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
MCMethodDeclaration className: #MCMockClassD selector: #one category: #''as yet unclassified'' timeStamp: ''cwp 7/8/2003 21:21'' source: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
''one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	^ 1''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
setUp
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
	stream _ RWBinaryOrTextStream on: String new.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	writer _ MCStWriter on: stream.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
testClassDefinitionA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
	writer visitClassDefinition: (self mockClassA asClassDefinition).
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
	self assertContentsOf: stream match: self expectedClassDefinitionA.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
	2 timesRepeat: [self assertChunkIsWellFormed: stream nextChunk]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
testClassDefinitionB
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
	writer visitClassDefinition: (self mockClassB asClassDefinition).
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	self assertContentsOf: stream match: self expectedClassDefinitionB.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
	
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
testClassMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
	writer visitMethodDefinition: (MethodReference class: self mockClassA class selector: #one) 									asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
	self assertContentsOf: stream match: self expectedClassMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
testInitializerDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
	|chunk lastChunk|
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	writer writeSnapshot: self mockSnapshot.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
	[stream atEnd] whileFalse:
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
		[chunk _ stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
		chunk isAllSeparators ifFalse: [lastChunk _ chunk]].
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
	self assertContentsOf: lastChunk readStream match: self expectedInitializerA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
testMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
	writer visitMethodDefinition: (MethodReference class: self mockClassA selector: #one) 									asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
	self assertContentsOf: stream match: self expectedMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
testMethodDefinitionWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
	writer visitMethodDefinition: (MethodReference 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
									class: self class 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
									selector: #methodWithBangs) asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
	self assertContentsOf: stream match: self expectedMethodDefinitionWithBangs.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
testOrganizationDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
	| definition |
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	definition _ MCOrganizationDefinition categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
					(self mockPackage packageInfo systemCategories).
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	writer visitOrganizationDefinition: definition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
	self assertContentsOf: stream match: self expectedOrganizationDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
	self assertAllChunksAreWellFormed.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
!MCStWriterTest class methodsFor:'documentation'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
version
819
9be4aefd595c Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   227
    ^ '$Header: /cvs/stx/stx/goodies/monticello/test/MCStWriterTest.st,v 1.2 2013-05-29 00:01:58 vrany Exp $'
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
! !
819
9be4aefd595c Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   229