test/MCStWriterTest.st
author Claus Gittinger <cg@exept.de>
Sat, 01 Sep 2018 17:32:31 +0200
changeset 1087 d37466310a6a
parent 1030 f0e99547dd4b
permissions -rw-r--r--
initial checkin class: MCFileTreeFileSystemUtils class: MCFileTreeFileSystemUtils class added:17 methods
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
     1
"{ Encoding: utf8 }"
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
     2
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/monticello/test' }"
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
     5
"{ NameSpace: Smalltalk }"
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
     6
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
MCTestCase subclass:#MCStWriterTest
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:'stream writer'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
819
9be4aefd595c Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
    11
	category:'SCM-Monticello-Tests'
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!MCStWriterTest methodsFor:'asserting'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
assertAllChunksAreWellFormed
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	stream 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		untilEnd: [self assertChunkIsWellFormed: stream nextChunk]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		displayingProgress: 'Checking syntax...'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
assertChunkIsWellFormed: chunk
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    25
    Smalltalk isSmalltalkX ifTrue:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    26
        Parser parseExpression:chunk onError:[self halt. self assert: false]
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    27
    ] ifFalse:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    28
        Parser new
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    29
                parse: chunk readStream 
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    30
                class: UndefinedObject 
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    31
                noPattern: true
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    32
                context: nil
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    33
                notifying: nil
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    34
                ifFail: [self assert: false]
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    35
    ].
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
assertContentsOf: strm match: expected 
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    39
        | actual |
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    40
        actual := strm contents.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    41
        "/ test fails - things are slightly different.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    42
        Smalltalk isSmalltalkX ifFalse:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    43
            self assert: actual size = expected size.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    44
        ].
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    45
        actual with: expected doWithIndex: [:a :e :charIdx | self assert: a = e]
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
assertMethodChunkIsWellFormed: chunk
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	Parser new
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
		parse: chunk readStream 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
		class: UndefinedObject 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
		noPattern: false
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
		context: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
		notifying: nil
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
		ifFail: [self assert: false]
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!MCStWriterTest methodsFor:'data'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
expectedClassDefinitionA
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    61
    Smalltalk isSmalltalkX ifTrue:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    62
^ '
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    63
MCMock subclass:#MCMockClassA
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    64
        instanceVariableNames:''ivar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    65
        classVariableNames:''CVar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    66
        poolDictionaries:''''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    67
        category:''SCM-Monticello-Mocks''!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    68
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    69
!!MCMockClassA commentStamp: ''cg 03/07/2018 09:51'' prior: 0!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    70
This is a mock class. The Monticello tests manipulated it to simulate a developer modifying code in the image.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    71
!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    72
'
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    73
    ].
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    74
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
 ^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
MCMock subclass: #MCMockClassA
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    77
        instanceVariableNames: ''ivar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    78
        classVariableNames: ''CVar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    79
        poolDictionaries: ''''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    80
        category: ''Monticello-Mocks''!!
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!!MCMockClassA commentStamp: ''cwp 8/10/2003 16:43'' prior: 0!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
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
    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
expectedClassDefinitionB
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    88
    Smalltalk isSmalltalkX ifTrue:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    89
 ^ '
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    90
MCMock subclass:#MCMockClassB
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    91
        instanceVariableNames:''ivarb''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    92
        classVariableNames:''CVar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    93
        poolDictionaries:''MCMockAPoolDictionary''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    94
        category:''SCM-Monticello-Mocks''!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    95
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    96
MCMockClassB class
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    97
        instanceVariableNames:''ciVar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    98
!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
    99
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   100
!!MCMockClassB commentStamp:''cg 03/07/2018 10:06'' prior:0!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   101
This comment has a bang!!!! Bang!!!! Bang!!!!!!
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   102
'
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   103
    ].
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   104
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
 ^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
MCMock subclass: #MCMockClassB
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   107
        instanceVariableNames: ''ivarb''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   108
        classVariableNames: ''CVar''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   109
        poolDictionaries: ''MCMockAPoolDictionary''
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   110
        category: ''Monticello-Mocks''!!
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
MCMockClassB class
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   113
        instanceVariableNames: ''ciVar''!!
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!!MCMockClassB commentStamp: '''' prior: 0!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
This comment has a bang!!!! Bang!!!! Bang!!!!!!
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
expectedClassMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
!!MCMockClassA class methodsFor: ''as yet unclassified'' stamp: ''ab 7/7/2003 23:21''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
	^ 1!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
expectedMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!!MCMockClassA methodsFor: ''numeric'' stamp: ''cwp 8/2/2003 17:26''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
	^ 1!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
expectedMethodDefinitionWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!!MCStWriterTest methodsFor: ''testing'' stamp: ''cwp 8/9/2003 14:55''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
methodWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
	^ ''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
	^ ReadStream on: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
''''MCRevisionInfo packageName: ''''MonticelloCompatibilityTest''''!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
MCOrganizationDeclaration categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
  #(
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
  ''''Monticello-Mocks'''')!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
MCClassDeclaration
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
  name: #MCMockClassD
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
  superclassName: #Object
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
  category: #''''Monticello-Mocks''''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
  instVarNames: #()
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
  comment: ''''''''!!!!!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
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
   156
''''one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	^ 1''''!!!!!!!!
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
!! !!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
expectedOrganizationDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	^ 'SystemOrganization addCategory: ''Monticello-Mocks''!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!MCStWriterTest methodsFor:'testing'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
expectedInitializerA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
	^ 'MCMockClassA initialize'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
methodWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
	^ '
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
	^ ReadStream on: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
''MCRevisionInfo packageName: ''MonticelloCompatibilityTest''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
MCOrganizationDeclaration categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
  #(
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
  ''Monticello-Mocks'')!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
MCClassDeclaration
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
  name: #MCMockClassD
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
  superclassName: #Object
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
  category: #''Monticello-Mocks''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
  instVarNames: #()
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
  comment: ''''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
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
   191
''one
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
	^ 1''!!!!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
''
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
'
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
setUp
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
	stream _ RWBinaryOrTextStream on: String new.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
	writer _ MCStWriter on: stream.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
testClassDefinitionA
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   203
        writer visitClassDefinition: (self mockClassA asClassDefinition).
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   204
        "/ this test fails (timestamp and author different)
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   205
        Smalltalk isSmalltalkX ifFalse:[
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   206
            self assertContentsOf: stream match: self expectedClassDefinitionA.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   207
        ].
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   208
        stream reset.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   209
        2 timesRepeat: [self assertChunkIsWellFormed: stream nextChunk]
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
testClassDefinitionB
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   213
        |whatIGot whatIExpect|
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   214
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   215
        writer visitClassDefinition: (self mockClassB asClassDefinition).
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   216
        whatIGot := stream contents.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   217
        whatIExpect := self expectedClassDefinitionB.
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   218
        self assertContentsOf:whatIGot readStream match:whatIExpect.
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
testClassMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
	writer visitMethodDefinition: (MethodReference class: self mockClassA class selector: #one) 									asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
	self assertContentsOf: stream match: self expectedClassMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
testInitializerDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
	|chunk lastChunk|
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
	writer writeSnapshot: self mockSnapshot.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
	[stream atEnd] whileFalse:
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
		[chunk _ stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
		chunk isAllSeparators ifFalse: [lastChunk _ chunk]].
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
	self assertContentsOf: lastChunk readStream match: self expectedInitializerA
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
testMethodDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
	writer visitMethodDefinition: (MethodReference class: self mockClassA selector: #one) 									asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
	self assertContentsOf: stream match: self expectedMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
testMethodDefinitionWithBangs
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
	writer visitMethodDefinition: (MethodReference 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
									class: self class 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
									selector: #methodWithBangs) asMethodDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
	self assertContentsOf: stream match: self expectedMethodDefinitionWithBangs.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
	stream reset.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
	self assert: stream nextChunk isAllSeparators.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
	self assertChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
	self assertMethodChunkIsWellFormed: stream nextChunk.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
	self assert: stream nextChunk isAllSeparators 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
testOrganizationDefinition
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
	| definition |
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
	definition _ MCOrganizationDefinition categories: 
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
					(self mockPackage packageInfo systemCategories).
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
	writer visitOrganizationDefinition: definition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
	self assertContentsOf: stream match: self expectedOrganizationDefinition.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
	self assertAllChunksAreWellFormed.
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
! !
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
!MCStWriterTest class methodsFor:'documentation'!
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
version
1030
f0e99547dd4b #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 819
diff changeset
   275
    ^ '$Header$'
29
b38afa133bfa initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
! !
819
9be4aefd595c Tests moved to category SCM-Monticello-Tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   277